关于如何把Promise.then中的值直接return出来


微信小程序遇到的需求,封装了一个请求,需返回Promise.then的值。

一、遇到的问题

问题代码:

function getBackNodePromise(taskId) {

 	this.req.getBackNode({
        taskId
    })
      .then((res)=>){
          return res;
      }
}

这样写会导致先return,再执行Promise请求.终究返回了个null

二、解决

经过一番研究,得出结论:不可能实现直接将 Promise.then 中的值 return 出来。

正确的使用方式只能是:returnPromise 对象,然后在 .then 的执行体中处理异步请求得到的值(或者用 async/await)。

第一种:

function getBackNodePromise(taskId) {
  return this.req.getBackNode({taskId}); //`return` 出 `Promise` 对象
}

let backPromise = util.getBackNodePromise(params.taskId)
backPromise.then(value => {
	...
    //此时value就是我们想获得的值
})

第二种:

​ ...

参考博客:文渊博客 如何将Promise.then中的值直接return出来


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM