“`” 参考回答:

(1)while循环的方式

<pre><code class=""language-javascript"" lang=""javascript"">function sleep(ms){
var start=Date.now(),expire=start+ms;
while(Date.now()<expire);
console.log('1111');
return;
}
</code></pre>

执行sleep(1000)之后,休眠了1000ms之后输出了1111。上述循环的方式缺点很明显,容易造成死循环。

(2)通过promise来实现

<pre><code class=""language-javascript"" lang=""javascript"">function sleep(ms){
var temple=new Promise(
(resolve)=>{
console.log(111);setTimeout(resolve,ms)
});
return temple
}
sleep(500).then(function(){
//console.log(222)
})
</code></pre>

//先输出了111,延迟500ms后输出222

(3)通过async封装

<pre><code class=""language-javascript"" lang=""javascript"">function sleep(ms){
return new Promise((resolve)=>setTimeout(resolve,ms));
}
async function test(){
var temple=await sleep(1000);
console.log(1111)
return temple
}
test();
</code></pre>

//延迟1000ms输出了1111

(4).通过generate来实现

 

 

<pre><code> "“`

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.