async function getName() {
const abcd = await getTime();
console.log("World");
}
function getTime() {
return new Promise(resolve => {
setTimeout(() => {
console.log("Hello, ");
}, 1000);
})
}
getName();
我希望在一秒钟之后,您好,然后世界打印出来,不幸的是输出仅是Hello,为什么?
答案 0 :(得分:2)
直到您resolve
Promise
getTime
函数将永远不会返回。
因此,await getTime()
将永远无法解决,并将永远等待响应。
如果您在resolve()
之后调用console.log
,则getTime
将解决,因此getName
函数可以继续进入控制台日志“世界”。
async function getName() {
const abcd = await getTime();
console.log("World");
}
function getTime() {
return new Promise(resolve => {
setTimeout(() => {
console.log("Hello, ");
resolve();
}, 1000);
})
}
getName();