问题描述:Promise.resolve().then()
方法应该是异步的,但是在脚本中却以一个诡异的半同步方式展现。
问题复现:挂载一个脚本,脚本代码(typescript)如下所示:
onLoad() {
cc.log("onload")
this.init()
}
start() {
cc.log("start")
}
init() {
Promise.resolve().then(() => {
for (let i = 0; i < 1000; i += 1) {
cc.log("init-promise")
}
})
cc.log("init-no-promise")
}
期望的输出结果:
onload
init-no-promise
start
(1000) init-promise
实际的输出结果:
onload
init-no-promise
(1000) init-promise
start
(图片传不上来)
想请教一下,为什么start方法会被异步的promise所阻碍。