gpt4 book ai didi

javascript - setTimeout 和 Async await 有什么区别?

转载 作者:行者123 更新时间:2023-12-05 00:34:39 25 4
gpt4 key购买 nike

我有点理解每个人在做什么。 setTimeout, "setTimeout() 方法在指定的毫秒数后调用函数或计算表达式。"异步等待,返回一个promise,并且只是一个可以放入队列并稍后检查函数结果的函数。
但是两者都允许我“延迟代码”,它们都是异步函数。那么什么时候你会使用一种而不是另一种呢?
感谢您的任何帮助!

最佳答案

它们完全不同。
使用 async/await允许您在代码中以扁平方式使用 Promise,而无需嵌套回调或难以阅读 .then链。例如:

const doSomething = async () => {
await asyncStep1();
await asyncStep2();
await asyncStep3();
};
每个异步步骤都返回一个 Promise。 await如果您已经有一个 Promise 可以使用(或您转换为 Promise 的东西),则只允许您“延迟” block 中的代码。 setTimeoutasync 完全不相似/ await - setTimeout根本不消耗 Promise 或与 Promise 有任何关系。 setTimeout允许您在超时时间结束后排队等待稍后调用的回调。
不像 await , setTimeout不会延迟 block 中的代码 - 相反,您将回调传递给它,然后回调会被调用。

关于javascript - setTimeout 和 Async await 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67881143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com