参考回答:
(1)while循环的方式
function sleep(ms){var start=Date.now(),expire=start+ms;while(Date.now()<expire);console.log('1111');return;}
执行sleep(1000)之后,休眠了1000ms之后输出了1111。上述循环的方式缺点很明显,容易造成死循环。
(2)通过promise来实现
function sleep(ms){var temple=new Promise((resolve)=>{console.log(111);setTimeout(resolve,ms)});return temple}sleep(500).then(function(){//console.log(222)})
//先输出了111,延迟500ms后输出222
(3)通过async封装
function sleep(ms){return new Promise((resolve)=>setTimeout(resolve,ms));}async function test(){var temple=await sleep(1000);console.log(1111)return temple}test();
//延迟1000ms输出了1111
(4).通过generate来实现
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)