【发布时间】:2016-02-11 09:25:17
【问题描述】:
我正在通过以下方式使用 async/await 函数
async function(){
let output = await string.replace(regex, async (match)=>{
let data = await someFunction(match)
console.log(data); //gives correct data
return data
})
return output;
}
但是返回的数据是一个promise对象。只是对在此类带有回调的函数中实现它的方式感到困惑。
【问题讨论】:
-
async函数的返回值始终是一个 Promise 对象,该对象使用返回的output进行解析(或拒绝并抛出错误)。 -
您想知道为什么
output是一个承诺吗?我不清楚你的问题是什么。请注意,如果string.replace的字面意思是String.prototype.replace,那么这是行不通的。.replace期望回调是普通函数,而不是异步函数。
标签: javascript async-await es6-promise ecmascript-2016