js,多层for循环嵌套下的异步,怎样按顺序执行?
题目描述
需要像同步执行那样,按照理想的顺序打印
题目来源及自己的思路
这是一个实际需求简化后的问题
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
for (let i = 0; i < 10; i ++) {
setTimeout(() => {
console.log(`这是外层${i}`);
}, 1000);
for (let j = 0; j < 5; j ++) {
setTimeout(() => {
console.log(`这是内层的${j}`);
}, 1000);
}
}
你期待的结果是什么?实际看到的错误信息又是什么?
希望可以像同步一样,打印出以下结果,并且每次间隔1秒
这是外层0
这是内层的0
这是内层的1
这是内层的2
这是内层的3
这是内层的4
这是外层1
这是内层的0
这是内层的1
这是内层的2
这是内层的3
这是内层的4
……
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
async
+await
才是真正解决方式如果只是间隔1秒,那么这么做就行
然而这没有解决同步的问题,代码并不是等上一个执行完了才执行的.你需要的可能是async/await
这样其实可以,这个Promise+await有点绕,熟悉了才能灵活点运用