Promise、await/async 和 setTimeout 有什么区别?
What is difference between Promise, await/async, and setTimeout?
我理解 Promise 和 await/asyc 的区别在于错误处理和可读代码。
Promise可以使用.catch()来处理错误,但是async/await没有错误处理的功能,所以我们不得不使用try-catch(),代码变长时async/await更好.
但我无法区分setTimeout。三个异步函数有什么区别?
非常感谢您的帮助:)
使用 setTimeout,您只需设置一个时间(以毫秒为单位),该过程应等到 setTimeout 调用中的回调函数被调用。
含义:
setTimeout(() => {
console.log('Hello World!');
}, 1000);
当 setTimeout 被执行时,它将等待 1000 毫秒 = 1 秒,直到它执行 console.log();动作。
在错误处理的情况下,您仍然需要手动处理错误,但您也可以在 setTimeout 中解决 Promise。
所以你可以告诉程序它应该等待 1 秒直到它解析 Promise 并且它可以捕获异常,就像你在 Promise 调用中用 .catch() 所说的那样。
TL;DR:异步方法只是等待方法完成(如果您等待它们)并且 setTimeout 在给定的毫秒数后执行代码块。
我理解 Promise 和 await/asyc 的区别在于错误处理和可读代码。 Promise可以使用.catch()来处理错误,但是async/await没有错误处理的功能,所以我们不得不使用try-catch(),代码变长时async/await更好.
但我无法区分setTimeout。三个异步函数有什么区别?
非常感谢您的帮助:)
使用 setTimeout,您只需设置一个时间(以毫秒为单位),该过程应等到 setTimeout 调用中的回调函数被调用。
含义:
setTimeout(() => {
console.log('Hello World!');
}, 1000);
当 setTimeout 被执行时,它将等待 1000 毫秒 = 1 秒,直到它执行 console.log();动作。
在错误处理的情况下,您仍然需要手动处理错误,但您也可以在 setTimeout 中解决 Promise。 所以你可以告诉程序它应该等待 1 秒直到它解析 Promise 并且它可以捕获异常,就像你在 Promise 调用中用 .catch() 所说的那样。
TL;DR:异步方法只是等待方法完成(如果您等待它们)并且 setTimeout 在给定的毫秒数后执行代码块。