Promise 串行执行简单方法:
v1.0
function serialLoad(callback) {
if (callback && typeof callback == "function") {
return new Promise(resolve => callback(resolve))
}
}
serialLoad(function (resolve) {
console.log("start");
setTimeout(() => resolve(2), 200);
}).then(res => serialLoad(function (resolve) {
console.log(res);
setTimeout(() => resolve(4), 500);
})).then(res => serialLoad(function (resolve) {
console.log(res);
setTimeout(() => resolve(6), 300);
})).then(res => serialLoad(function (resolve) {
console.log(res, "end");
})).then(res => serialLoad(function (resolve) {
console.log(res, "finish");
}));