微信小程序云函数 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线程

相关文章
相关标签/搜索