问题描述
我的代码:
console.log('Start')
getMember((member) => { console.log(member) })
console.log('End')
function getMember(next) {
for (let index = 0; index < 1000000000; index++) {
// Simulation setTimeout()
}
next('In getMember')
}
返回:
开始
在 getMember
结束
我以为我得到了以下结果(见下文)但它没有,你能解释一下吗?
返回:
开始
完
在 getMember
谢谢,
伊夫
解决方法
console.log('Start')
function resolveAfter2Seconds() {
return new Promise(resolve => {
// setTimeout(() => { resolve('resolved') },2000);
for (let index = 0; index < 1000000000; index++) { }
resolve('resolved !');
})
};
async function asyncCall() {
console.log('calling');
const result = await resolveAfter2Seconds();
console.log(result);
}
asyncCall();
console.log('End');
返回:
开始
打电话
完
解决 !
我的印象是 Promise 可以更好地处理回调!