gpt4 book ai didi

javascript - 产生依赖于递归 promise 的 promise

转载 作者:搜寻专家 更新时间:2023-11-01 05:23:06 24 4
gpt4 key购买 nike

我有一个整数 id 数组,例如

var a=[1,2,3,4,5]

并且我需要对这些 ID 中的每一个执行异步远程调用。每次调用都是使用 $resource 执行并作为 promise 呈现的 WebAPI 请求。

我需要创建一个函数来获取这些 ID 的数组,然后初始化递归 promise 链。该链应该导致对每个 ID 的相应 webapi 调用,一个接一个。这些调用不应该是并行的,而是链接的。

有问题的函数本身返回一个“主要” promise ,应根据异步网络调用的结果解决或拒绝该 promise 。也就是说,如果递归中的某些 promise 由于与服务器断开连接而被拒绝,则主要 promise 也应该失败。在正常情况下,“主要” promise 必须在所有请求完成时解决。

我怎样才能在 angularjs 中完成它?

最佳答案

您对数组使用 reduce 将 promise 链接在一起。没有必要使这个递归。

// for angularjs: var Q = $q.when;
var p = a.reduce(function(prev, el) {
return prev.then(function(arr) {
return makeRequest(el).then(function(res) {
return arr.concat([res]);
});
});
}, Q([]));

关于javascript - 产生依赖于递归 promise 的 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23650204/

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