延迟函数的返回

kho*_*ong 8 javascript delay settimeout

无论如何都要延迟函数的返回,使用setTimeout().

function foo(){
  window.setTimeout(function(){
      //do something
  }, 500);
 //return "some thing but wait till SetTimeout() finished";
}
Run Code Online (Sandbox Code Playgroud)

Nel*_*elu 6

使用承诺:

const fetchData = () =>
  new Promise(resolve => {
    setTimeout(() => resolve(apiCall()), 3000);
  });
Run Code Online (Sandbox Code Playgroud)

感谢 @NikKyriakides 的回答更新,他指出 async/await 是不必要的。我最初有async () => resolve(await apiCall()).


Jam*_*ury 3

.setTimeout()用于在超时后运行完整的函数。它不是为了延迟代码。

https://developer.mozilla.org/En/Window.setTimeout

一个好的链接是:sleep() 的 JavaScript 版本是什么?

(一个很好的问题是为什么你的函数需要睡眠?)