微信小程序雲函數 result 爲 null

本地調試正常,上傳雲端測試,發現 result 都是 null。小程序

網上一通搜索,發現大概是這個緣由:api

異步操做的問題。雲函數主體代碼運行到最尾時就會結束線程,不會等你異步的返回結果。

說明雲函數對 async/await 的支持是有問題的。異步

我原來的代碼:async

// 雲函數入口文件
const cloud = require('wx-server-sdk');

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
});

// 雲函數入口函數
exports.main = async (event) => {
  try {
    const res = await cloud.openapi.security.msgSecCheck({
      content: event.content,
    });
    if (res.errCode === 0) {
      return Promise.resolve();
    }
    return Promise.reject();
  } catch (err) {
    return Promise.reject();
  }
};

修改以後的代碼:函數

// 雲函數入口文件
const cloud = require('wx-server-sdk');

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
});

// 雲函數入口函數
exports.main = (event) => cloud.openapi.security.msgSecCheck({
  content: event.content,
});

棄用了 async/await 以後果真就行了。測試


雲函數其實問題挺多的,此次是本地測試好使,雲端測試不行,下次就是雲端測試不行,模擬器/真機測試好使。ui

唉,小程序啊小程序。.net


參考:【小程序雲開發】本地調試和雲端測試的結果不一致,返回值result爲null線程

相關文章
相關標籤/搜索