在reactjs中添加两个函数之间的延迟



我有两个函数,在这两个连续的函数调用之间需要强制延迟。也就是说,

a // call func a
delay(100) // delay for 100 ms
b // call func b

有没有办法这样做?

编辑:尝试

a();
console.log("a");
setTimeout(b(), 1000);
console.log("b");

有了新的ES6,你甚至可以让它更干净,看起来像是连续的

function delay(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms);
})
}
async function doItHere() {
console.log('a', Date.now());
await delay(5000);
console.log('b', Date.now())
}
doItHere();

您只需要在调用a后使用setTimeout function来调用b

a() // call func a
setTimeout(b, 100) // delay for 100 ms

如果需要将b函数绑定到当前作用域,请使用:

setTimeout(() => b(), 100) // () => {} functions are always bound to the current scope

试试这个:

a() // First call function a

然后调用setTimeout函数中的函数b。

es5

setTimeout(function() {b()},100); 

es6

setTimeout(()=> {b()},100); 

最新更新