应用 ES6 的 内置对象 Promise, 让异步函数 按顺序执行的例子 如下:

上边 是四个用Promise 处理过的 异步执行的函数: fn1、fn2、fn3、fn4
下面,让其按顺序执行 如下:

测试代码:
1const fn1 = () => { 2 return new Promise((resolve, reject) => { 3 setTimeout(() => { 4 console.log(111) 5 resolve() 6 }, 100); 7 }) 8} 9 10const fn2 = () => { 11 return new Promise((resolve, reject) => { 12 setTimeout(() => { 13 console.log(222) 14 resolve() 15 }, 300); 16 }) 17} 18 19const fn3 = () => { 20 return new Promise((resolve, reject) => { 21 setTimeout(() => { 22 console.log(333) 23 resolve() 24 }, 200); 25 }) 26} 27 28const fn4 = () => { 29 return new Promise((resolve, reject) => { 30 setTimeout(() => { 31 console.log(444) 32 resolve() 33 }, 50); 34 }) 35} 36 37// 顺序执行函数 38fn1() 39.then(fn2) 40.then(fn3) 41.then(fn4)