async/await 输出顺序问题

来源:8-11 async-await和Promise有什么关系

别喷了我很菜

2021-04-29

!(async function () {
	const p1 = Promise.resolve(300)
	const data = await p1 //相当于Promise then
	console.log('data', data) //300
}) ()

!(async function () {
	const data1 = await 400 //相当于await Promise.resolve(400) 
	console.log('data1', data1)
}) ()

老师,同样的这段代码,为什么我在Chrome 输出和在HBuilder的内置浏览器输出的结果会不一样呢?这是Bug吗
Chrome output:
data 300
data1 400

HBuilderX output:
data1 400
data 300

写回答

1回答

双越

2021-04-29

js 引擎不同,这种微任务的顺序解析就不太一样。

hbuilder 我没用过,不知道它内置浏览器是什么。

我建议,还是以 chrome 为主吧。

不用太纠结于这个问题,不过对于日常开发没有什么影响。

0
1
别喷了我很菜
明白!谢谢老师
2021-04-29
共1条回复

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4719 学习 · 1683 问题

查看课程