小编eka*_*nsh的帖子

如何在 javascript 中处理异步调用 - 使用 Promise 延迟打印数字

我正在尝试创建一个显示数字 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)

javascript asynchronous

2
推荐指数
1
解决办法
416
查看次数

标签 统计

asynchronous ×1

javascript ×1