js 如何sleep
时间: 2024-05-29 20:05:10 浏览: 12
JS本身没有提供sleep函数,但可以通过两种方式实现sleep的效果:
1.利用一个伪死循环阻塞主线程的方式实现sleep,这种方式可以实现真正意义上的sleep。代码如下:
```javascript
function sleep(delay) {
var start = (new Date()).getTime();
while ((new Date()).getTime() - start < delay) {
continue;
}
}
function test() {
console.log('111');
sleep(2000);
console.log('222');
}
test();
```
2.利用定时器setTimeout实现sleep的效果,代码如下:
```javascript
function sleep1(ms, callback) {
setTimeout(callback, ms);
}
//sleep 1s
sleep1(1000, () => {
console.log(1000);
});
```
相关问题
javascript sleep
在 JavaScript 中,没有内置的 sleep 函数。但是可以使用 setTimeout 或者 Promise 来实现类似的效果。
使用 setTimeout 实现 sleep:
```
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function demo() {
console.log('Taking a break...');
await sleep(2000);
console.log('Two seconds later');
}
demo();
```
使用 Promise 实现 sleep:
```
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
console.log('Taking a break...');
sleep(2000).then(() => {
console.log('Two seconds later');
});
```
js sleep
JavaScript本身没有提供sleep函数,但可以使用setTimeout和Promise来实现类似的效果。setTimeout可以设定一个定时器,等待一段时间后执行回调函数。而Promise可以使用async/await语法来实现等待异步操作完成后再继续执行的效果。
下面是使用setTimeout实现的sleep函数:
```javascript
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function example() {
console.log('Start');
await sleep(2000);
console.log('End');
}
example();
```
上面的代码中,我们定义了一个sleep函数,它返回一个Promise对象,这个Promise对象会在指定的时间(ms)后resolve。在example函数中,我们使用了await关键字来等待sleep函数返回的Promise对象,也就是等待2秒后再输出'End'。
请注意,上面的代码仅在支持ES6的环境中有效。如果需要在低版本浏览器中使用,可以使用setTimeout的回调函数来实现类似的效果。