代码之家  ›  专栏  ›  技术社区  ›  chloepark

Promise、await/async和setTimeout之间有什么区别?

  •  0
  • chloepark  · 技术社区  · 2 年前

    我理解Promise和await/asyc的区别在于错误处理和可读代码。 承诺可以用。catch()用于错误处理,但async/await没有用于错误处理的函数,因此我们必须使用try-catch(),当代码变长时,async/await更好。

    但我无法区分setTimeout和。三个异步函数之间的区别是什么?

    非常感谢您的帮助:)

    1 回复  |  直到 2 年前
        1
  •  0
  •   tstdplt    2 年前

    使用setTimeout,您只需设置一个时间(以毫秒为单位),该过程应该等待setTimeout调用中的回调函数被调用。

    意思是:

    setTimeout(() => {
       console.log('Hello World!');
    }, 1000);
    

    当执行setTimeout时,它将等待1000毫秒=1秒,直到执行控制台。log();行动

    在错误处理的情况下,您仍然需要手动处理错误,但您也能够在setTimeout中解决承诺。 因此,您可以告诉程序,它应该等待1秒,直到它解决了承诺,并且它可以捕获异常,正如您使用。抓住承诺电话。

    TL;DR:异步方法只需等待该方法完成(如果您等待它们),setTimeout在给定的毫秒数后执行代码块。