在之前的幾篇文章里面介紹了下云開發中的云數據庫、云存儲:
接下來的這篇文章主要介紹下云函數,介紹這個云函數的主要用途是因為要解決從云數據庫查詢數據最多顯示20條的限制,而使用到云函數可以解決這種限制,使用云函數可以將最大限制改為100條,繼而達到我們需要的效果。
【步驟】
簡單說一下我們如何創建云函數,如下所示
>我們右擊cloudfunctions出現如下圖所示,點擊新建Node.js函數即可
>創建好云函數后我們需要填寫好我們需要的邏輯,以我寫的這個小項目為例,我需要獲取超過20條記錄的評論,那么我需要寫一個函數來實現如下所示
// 云函數入口文件const cloud = require('wx-server-sdk')cloud.init()const db = cloud.database()// 云函數入口函數exports.main = async (event, context) => { var videoId = event.videoId ? event.videoId : null; try { return await db.collection('comments').where(videoId).get() } catch (e) { console.error(e) }}
這個云函數的作用就是通過videoId來顯示當前視頻下的評論數量。
>編寫好了當前代碼,那么我們需要將這個函數上傳,具體步驟如下
右擊云函數然后出現下圖所示,然后我們點擊上傳部署:所有文件,如果上傳失敗那么我們店家上傳并部署:云端安裝依賴
>上傳完畢后我們點擊云開發然后進入云函數進行測試,如下所示
進入之后我們運行測試出現如下結果那么久說明我們的函數沒問題
PS:我們這里要強調下每修改一次云函數必須要上傳更新下
竟然寫了個函數那么我們怎么在界面中調用這個云函數呢?下面通過我的案例來為大家展示下
//查詢所有評論 showAllComment() { /*const db = wx.cloud.database() //接收從welcome.js傳遞過來的id var videoId = getApp().requestDetailid; db.collection("comments").where({ videoId: videoId }).get({ success: res => { this.setData({ comments: res.data, }) }, fail: err => { wx.showToast({ icon: "none", title: '查詢評論失敗', }) } })*/ //這里是使用云函數 var videoId = getApp().requestDetailid; wx.cloud.callFunction({ name: 'show', data: { videoId: {videoId} } }).then(res => { this.setData({ comments: res.result.data, }) }) },
在上面代碼我將我們的云函數的用法在這里調用了,有什么不懂的我在里面進行了說明,所以基本上云函數的基本使用就是你這個樣子。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答