云函数返回值的的问题,求解?
发布于 7 年前 作者 dengli 5062 次浏览 来自 官方Issues

萌新不是很懂这个异步 同步, 就是云函数返回的checkResponse.body 想保存再js的data里

但是拿到的是undefined, 查了半天 说是结果还没有返回来, 就想请问如何能再js 拿到这个返回值。

该怎么写。 这个promise 看了白天没太懂。求代码。谢谢。

3 回复

你这还有问题吗

云函数返回一个Promise对象,目的使让两个相互依存的异步操作按需要的顺序执行。Promise对象特点如下:

1.Promise对象状态不受外界影响,仅有resolve和reject的返回结果决定,一旦状态确定,就不能在改变。 

2.resolve函数的作用:将promise对象的状态从pending变为resolved,将异步操作成功调用的结果,作为参数给then中的第一个函数;

3.reject函数的作用:将Promise对象的状态从 pending

变为 rejected,在异步操作失败时,并将异步操作报出的错误,作为参数传递给then中的第二个函数

4.promise一旦新建就会立即执行,无法取消,可以用then方法分别指定resolved状态和rejected状态的回调函数,将返回值输出,then可以采用链式写法(无线.then)

promise定义结构如下:

var promise= new Promise( function(resolve,reject){
  if(){
    resolve(value)
  }else{
    reject(err)
  }
}).then({
  function (value){},
  function (err){}
}).catch()

注:promise的返回值只能在其内部使用,不能导出。

回到顶部