【问题标题】:Javascript async await equivalent of C# Task.Delay [duplicate]Javascript异步等待相当于C#Task.Delay [重复]
【发布时间】:2020-10-19 07:45:10
【问题描述】:

类似于这个问题 Java Equivalent of C# async/await? 其中问的是 Java,我问的是 Javascript

如何在不使用回调的情况下以异步/等待方式在 Javascript 中编写以下 C#

public async Task<IHttpActionResult> SomeMethod(string myStr) {
  await Task.Delay(2000);

  //== continue here after 2 secs
}

【问题讨论】:

  • 根据stackoverflow.com/questions/5449956/…,这不会像javascript中的async / await那样阻塞主线程。我会说是的,它们非常相似
  • @Ivar 是的,我喜欢一个班轮:await new Promise(r => setTimeout(r, 2000));

标签: javascript async-await


【解决方案1】:

您可以编写自己的延迟方法。

function delay(time) {
    return new Promise((resolve) => {
        setTimeout(() => resolve(), time);
    });
}

使用它

async function someMethod(myStr) {
    await delay(2000);

    // Continue here after 2 secs
}

【讨论】:

  • 好的,正如上面另一个链接所建议的,有一个班轮 await new Promise(r => setTimeout(r, 2000));
猜你喜欢
  • 1970-01-01
  • 2018-04-17
  • 2019-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-06
  • 2021-12-30
  • 1970-01-01
相关资源
最近更新 更多