1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| var doExe = function (a, callback) { setTimeout(function () { console.log(a) if (callback) { callback() } }, 100 * Math.random()) };
//async (async () => { for (let i = 0; i < 10; i++) { await new Promise(resolve => doExe(i, resolve)); } })();
//不让用async let p = new Promise(res => doExe(0,res)); for (let i = 1; i < 10; i++) { p = p.then(() => new Promise(res => doExe(i, res))); }
//es5 var i = 0; var aTest = function(){ i < 10 && doExe(i++, aTest); } aTest();
//令人窒息的操作 for(let t = 0; t < 10; t++){ Math.random = () => t; doExe(t); }
|