gpt4 book ai didi

javascript - 我的帖子请求在 $q.all 执行之前得到解决

转载 作者:可可西里 更新时间:2023-11-01 17:36:33 26 4
gpt4 key购买 nike

在我的场景中,我有这样的代码:

save : function ( distinta ) {

var configDistinta = {
params : {
data: $filter('date')(distinta.data , "dd/MM/yyyy") ,
tipologia: distinta.tipologia,
idProdotto: distinta.elencoIngredienti[0].prodotto.id,
lottoProdotto: distinta.lottoProdotto,
quantitaProdotto : distinta.quantitaProdotto,
corpiEstranei : distinta.corpiEstranei,
tipoConformita : distinta.tipoConformita,
siglaControllo: distinta.siglaControllo,
azioneCorrettiva: distinta.azioneCorrettiva,
firmaOperatore: distinta.firmaOperatore,
firmaResponsabile: distinta.firmaResponsabile,
note : distinta.note,
visualizzaDettaglio:distinta.visualizzaDettaglio
}
};

var promises = [];
var distinta_id = null;

// chiamata post per inserimento distinta
return $http.post(urlDistinte, "", configDistinta).then (function(response) {
distinta_id = response.data.id;
console.log (response);
console.log ("INIZIO INSERIMENTO INGREDIENTI");
//INSERIMENTO INGREDIENTI NELLA DISTINTA,

for (var k in distinta.elencoIngredienti) {
if (!distinta.elencoIngredienti[k].cancel == true) {

var configDistintaIngrediente = {params: {
distintaBaseGelato_id : 2,
ingrediente_id : 1,
quantitaIngrediente : 45.56,
lottoIngrediente : distinta.elencoIngredienti[k].lottoIngrediente }
};

var p = $http.post(urlDistinteIngredienti, "", configDistintaIngrediente)
.success(function(data) {
alert ("OK");
}).error(function(data, status, headers, config) {
alert (
"data: " + data + "\n" +
"status: " + status + "\n" +
"headers: " + headers + "\n" +
"config: " + config + "\n"

);

console.log (config);
});

//promises.push (p);
}
}
console.log( promises );
console.log ("FINE INSERIMENTO INGREDIENTI");
$q.all( promises ).then( function(data) {
console.log ("AVVIO OPERAZIONI GESTIONE DISTINTA")
for (var k in data ) {
console.log(data[k]);
};
console.log ("FINE OPERAZIONI GESTIONE DISTINTA")
return data;
});
});
}

我看到我的请求“发布”在到达 $q.all 之前执行。如何将它们插入数组,然后仅运行它们 $q.all

最佳答案

您的 promises 数组是空的,这就是为什么 $q.all 在您的其他请求之前执行的原因。

为了工作,您需要使用您的请求填写 promises 数组,如下所示:

promises.push($http.post(urlDistinte, "", configDistinta).then (function(response) {...}));
promises.push($http.post(urlDistinteIngredienti, "", configDistintaIngrediente)...);

然后$q.all会在所有请求返回成功后执行。

关于javascript - 我的帖子请求在 $q.all 执行之前得到解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29913963/

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