我正在尝试创建一个显示数字 1 到 10 并延迟打印每个数字的函数。比如1秒后打印1,2秒后打印2,最多10。还必须在数字打印之前和之后打印开始和结束。
尝试创建一个承诺并使用异步等待来实现这一点。但是无法在函数之后正确打印“结束”。
当尝试解决承诺时,它会在 settimout 操作之前得到解决。
async function disp(){
console.log("start")
await promise();
console.log("end")
}
function promise(){
return new Promise((resolve, reject) => {
for(let i=1;i<10;i++){
setTimeout(() => {
console.log(i);
}, i*1000);
}
//resolve();
})
}
disp();
Run Code Online (Sandbox Code Playgroud)