gpt4 book ai didi

javascript - 延迟 jquery ajax 请求的顺序

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:40 25 4
gpt4 key购买 nike

我有语言列表,['en', 'de'] 等等,我想对每种语言进行复杂的 ajax 请求。在第一个 ajax 请求中,我得到了每种语言的意向数量。

var languages = ['en', 'de', 'es', 'fr', 'it', 'cn'];
intents_dic = [];
chart_quantity = ['quantity'];
for (var x = 0; x < languages.length; x++){
$.ajax({
url: 'url',
type: 'GET',
async: false,
success: function(data){
for (i in data){
intents_dic.push(data[i]['id'])
}
var intents_count = 0;
var deferreds = [];

在第二步中,我需要计算上一次通话中每个意图的短语数量。我为此任务使用延迟列表。

for (var id = 0; id < intents_dic.length; id++){
deferreds.push($.ajax({
url: 'url',
type: 'GET',
success: function(data){
intents_count += data['templates'].length;
}
}))
}
$.when.apply(null, deferreds).done(function() {
chart_quantity.push(intents_count);
})

但是当延迟的 ajax 请求完成时,完成的顺序与语言列表顺序不同(这是构建图表的原则)。这个问题可以解决吗,或者它是 ajax 调用的一个特性?谢谢。

最佳答案

这是您的 fork 并因此工作的 jsfiddle(具有有序结果的异步调用)。

for(var i = 0; i < 5; i++){
setTimeout(function(x){
done(x,results);
}(i),1000);
}

http://jsfiddle.net/htuz3t3m/2/

关于javascript - 延迟 jquery ajax 请求的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36690033/

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