基于React实现的。期望输出顺序:ABCD,结果是:DABC。感觉await没起作用。
下面是源码实现:
// 组件第一次渲染完成
async componentDidMount() {
await this.getMockData(’/mock/a.json’)
await this.getMockData(’/mock/b.json’)
await this.getMockData(’/mock/c.json’)
// 期望最后执行
await setTimeout(() => {
new Promise((resolve) => {
resolve()
}).then(() => {
console.log(‘我是D’)
})
})
}
// 测试async await
getMockData(url) {
new Promise(resolve => {
axios.get(url).then(function(res){
resolve(res)
})
}).then((res) => {
console.log(res.data.name)
})
}
前端无门槛学习,从ES6到ES11,一套课程掌握JS最新语法
了解课程