異步返回結果 promise()方法
- 在雲函數中處理一些異步操作,在異步操作完成後再返回結果給到調用方。
- 此時我們可以通過在雲函數中返回一個
Promise
的方法來完成。
一個最簡的 setTimeout
示例:
// index.js
const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => new Promise((resolve, reject) => {
// 在 3 秒後返回結果給調用方(小程序 / 其他雲函數)
setTimeout(() => {
resolve(event.a + event.b)
}, 3000)
})
假設雲函數名字爲 test,上傳部署該雲函數後,我們可以在小程序端測試調用:
// 在小程序代碼中:
wx.cloud.callFunction({
name: 'test',
data: {
a: 1,
b: 2,
},
complete: res => {
console.log('callFunction test result: ', res)
},
})
此時應該看到調試器輸出:
callFunction test result: 3
推薦微信小程序閱讀:
【十一】 10分鐘精通微信小程序 | 雲函數管理端
【十】 10分鐘精通小程序 | 雲函數異步返回結果
【九】10分鐘精通微信小程序 | 雲函數
【八】 10分鐘精通微信小程序雲存儲 | 雲存儲
【七】10分鐘精通微信小程序 | 增刪改查
【六】10分鐘精通微信小程序 | 增刪改查
【五】10分鐘精通微信小程序 | 雲數據庫增刪改查
【四】10分鐘精通微信小程序 | 雲控制檯
【三】10分鐘精通微信小程序 | 光速入門
【二】10分鐘精通微信小程序雲開發 | 多圖上傳並存儲路徑到雲數據庫
【一】10分鐘精通微信小程序 | 獲取用戶openid