用Promise和async改写成每隔1s打印1个数字的形式

function print(n){
    for(var i = 0;i <n;i++){
        setTimeout(console.log, 1000, i);
    }
}
print(10);
阅读 2k
2 个回答
async function print(){
    for(var i = 0 ; i < 10 ; i++){
        await pro(function(){
            console.log(1)
        },1000)
    }
}
print();

function pro(cb , time){
    return new Promise((resolve , reject) => {
        setTimeout(() => {
            cb();
            resolve();
        }, time);
    });
}
/**等待一定时间后执行*/
const wait = async (milliseconds) =>
  new Promise((resolve) => setTimeout(resolve, milliseconds));

const print = async (n) => {
  for (var i = 0; i < n; i++) {
    await wait(1000);
    console.log(i);
  }
};

print(9);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题