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+测试; }为什么您希望异步函数与回调相结合?他们唯一的特点就是等待承诺,而你在这里并没有这样做。