嗨,我想使用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();