/* 同步 */
function asyncFunction(i) {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log(i);
resolve(i);
}, 2000 * Math.random())
});
}
let i = 0;
let promise = Promise.resolve(i - 1);
while (i++ < 10) {
promise = promise.then((result) => asyncFunction(result + 1));
}
// 结果
// 0
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
/* 异步 */
function asyncFunction(i) {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log(i);
resolve(i);
}, 2000 * Math.random())
});
}
let i = 0;
while (i < 10) {
asyncFunction(i++);
}
// 结果不可确定
// 0
// 2
// 6
// 5
// 1
// 4
// 7
// 8
// 9
// 3
网友评论