我想使用不带then或任何回调函数的异步等待,但如果check不起作用



嗨,我想使用async await而不使用任何回调包装器,如

.then(function(){});

something(anyparams,function(){});

换句话说,我想通过将promise转换为async await来逐行使用我的代码

问题:如果块出错,我已成功将promise转换为async await,如何修复。预期输出是">";结果:FFF">

这是我的代码:

function getName () {
return new Promise(function (resolve, rejected) {
var name = "FFF";
// wait 3000 milliseconds before calling resolve
setTimeout ( 
function() {
resolve( name )
}, 3000)
})
}

async function foo () {
console.log('Before Name');
var name = await getName();
console.log('After Name');
return name;
}
var str = foo();
if(str == 'FFF'){
alert('result: '+str);
}else{
alert('entered wrong block');
}

您需要await异步函数调用,如下所示:

var str = await foo();

最新更新