gpt4 book ai didi

javascript - q$ Angular 用于非阻塞循环

转载 作者:行者123 更新时间:2023-12-03 07:37:12 25 4
gpt4 key购买 nike

我有一个数据集,需要循环和更改。这可能需要一些时间,并且我在网站上运行了一个小旋转器。当我进入循环时它会阻止该过程。我想看看是否可以使用 $q 来解决这个问题。我可以将 $q 与 http 调用一起使用,这似乎工作正常。

angular.forEach(data, function (d) {
d.name = "..." + d.name;
})
return data

$ string 是执行此操作的正确方法吗?有没有更好的办法?谢谢丹尼

最佳答案

即使您将其包装在 Promise 或 $q 中,您仍然会阻止。它在 http 请求期间不会阻塞,因为另一台独立的机器正在运行该进程,而不是您的 javascript 线程。 JavaScript 是单线程的,所以它不能同时做多件事。因此,即使您将 forEach 包装在解析中,它也会阻塞。所以这里有一些解决方案。

1) 创建网络 worker
2) 将数组分割成更小的 block ,并使用超时来迭代数组的各个部分,从而允许其他进程在超时期间运行。

关于javascript - q$ Angular 用于非阻塞循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35560488/

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