模拟异步执行,模拟线程暂停, 这里使用了 ES7 中的async 和 await,代码如下:
1 /* 模拟线程暂停 */ 2 const sleep = function (time) { 3 var promise = new Promise((resolve, reject) => { 4 setTimeout(() => { 5 resolve(); 6 }, time); 7 }); 8 return promise; 9 } 10 11 async function asyncTest() { 12 let i = 0; 13 while (i < 10) { 14 var date = new Date(); 15 console.log(`time: ${date} i=${i}`); 16 i++; 17 await sleep(1000); //暂停1秒 18 } 19 } 20 console.log('==开始执行异步函数=='); 21 asyncTest(); 22 console.log('==我是异步函数后面的内容==');
执行的结果如下: