關於如何把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