【问题标题】:how to run an async func in setInterval in javascript如何在 JavaScript 的 setInterval 中运行异步函数
【发布时间】:2020-11-15 01:23:26
【问题描述】:

如何在setInterval 中运行异步函数,如下例所示?

 setInterval(async () => {  
            
  }, millisPerHour);

【问题讨论】:

  • 是的,这就是你应该运行它的方式。
  • 你试过什么?结果如何?你有任何错误/问题吗?
  • 我尝试过,但似乎没有诚实地工作
  • 它在什么方面不起作用?你能描述一下你遇到的确切问题吗?你的代码是什么,你期望发生什么,发生了什么?看起来问题出在其他地方。

标签: javascript node.js asynchronous promise setinterval


【解决方案1】:

试试这段代码
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function

function resolveAfter2Seconds() {
      return new Promise(resolve => {
        setTimeout(() => {
          resolve('resolved');
        }, 2000);
      });
    }
    
    async function asyncCall() {
      console.log('calling');
      const result = await resolveAfter2Seconds();
      console.log(result);
      // expected output: "resolved"
    }
    
    asyncCall();`

【讨论】:

  • SetInterval not setTimeout
  • 只需将 setTimeout 更改为 setInterval
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-29
  • 2022-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多