关于then的返回顺序

来源:2-39 Then(异步操作)

慕莱坞1886056

2020-03-06

function loadScript(src) {
return new Promise((resolve, reject) => {
let script = document.createElement(‘script’)
script.src = src
script.onload = () => {
resolve(script)
}
script.onerror = err => {
reject(err)
}
document.head.append(script)
})
}

loadScript(’./1.js’)
.then(() => {
loadScript(’./21.js’) //错误路径
return 222
}, (err) => {
console.log(err + ‘第二步的err’);
})
.then((data) => {
console.log(data, 1112);
loadScript(’./3.js’)
}, (err) => {
console.log(err + ‘第三步的err’);
})

老师为什么这样的返回顺序是
1
222
路径的错误报错
3;
而不是
1
路径的错误报错
222
3

写回答

1回答

快乐动起来呀

2020-03-06

你这个写法是把 resolve 放在 onload 函数里,但是你没法保证 onload 的执行顺序

0
0

再学JavaScript ES(6-10)全版本语法大全

前端无门槛学习,从ES6到ES10,一套课程掌握JS最新语法

1182 学习 · 336 问题

查看课程