gpt4 book ai didi

node.js - await...defer 在 forEach 循环中

转载 作者:搜寻专家 更新时间:2023-10-31 23:43:53 26 4
gpt4 key购买 nike

这段代码应该返回 12334 还是 12433?

我期望 12334 但它给出 12433...

console.log '1'
anArray.forEach (info, index, array)->
console.log '2'

await model.findOne info, defer(err, doc)
console.log '3'

console.log '4'

最佳答案

您的直觉是错误的:IcedCoffeeScript 的 await...defer 无法阻止同步 forEach 循环。

请记住,IcedCoffeeScript 会编译为不支持阻塞的 JavaScript。在数组上调用 forEach 后,您就 promise 在触发任何事件之前遍历整个数组。

好消息是您可以通过使用 IcedCoffeeScript 自己的循环结构来获得您想要的行为。在你的情况下,

for info, index in anArray ->
...

有关处理 JavaScript 的非阻塞事件模型的更多信息,请查看我的新书 Async JavaScript .

关于node.js - await...defer 在 forEach 循环中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10535877/

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