Javascript 为什么我的异步函数不与回调组合以生成结果?
我的代码如下:Javascript 为什么我的异步函数不与回调组合以生成结果?,javascript,asynchronous,promise,async-await,Javascript,Asynchronous,Promise,Async Await,我的代码如下: myAsync().then((text) => { console.log(text); }); async function myAsync() { cbFunction("Hello world ", function(result) { return result; }); } function cbFunction(myString, callback) { callback(myString + "test")
myAsync().then((text) => {
console.log(text);
});
async function myAsync() {
cbFunction("Hello world ", function(result) {
return result;
});
}
function cbFunction(myString, callback) {
callback(myString + "test");
}
我在等你好世界测试
相反,我没有定义
为什么上面的代码不起作用?myAsync没有返回语句。通常这意味着它返回未定义的,但由于它是异步的,因此它返回一个承诺,该承诺立即解析,没有数据
如果要返回使用cbFunctin中的数据解析的承诺,则需要显式返回该承诺并调用resolveresult。
myAsync.thentext=>{
console.logtext;
};
函数myAsync{
返回新的PromiseSolve,拒绝=>{
cbFunctionHello world,函数结果{
解决结果;
};
}
}
函数cbFunctionmyString,回调{
callbackmyString+测试;
}为什么您希望异步函数与回调相结合?他们唯一的特点就是等待承诺,而你在这里并没有这样做。