gpt4 book ai didi

javascript - 按预期顺序检索 GET 请求响应时出现问题

转载 作者:行者123 更新时间:2023-12-01 01:50:58 26 4
gpt4 key购买 nike

我的 javascript 代码遇到了一些问题,据我的理解可能与异步函数有关。

我有一些大的 txt 文件想要导入到我的 javascript 代码中,所有内容都在同一个域下。例如,当我打开/index.php 时,我希望 Javascript 从位于以下位置的多个文本文件加载文本:/log/ip_number/log.txt

目前我正在使用这样的东西:

for (var i = 0; i < numberOfVPS; i++) {
$.get("/log/"+ip_list[i]+"/log.txt", function(contents){
//does my things with contents
array.push(myOutput)
});
}

在代码的末尾,我应该得到一个按 ip_list 数组中的 IP 顺序排序的数组......但这不是我得到的,我无法真正理解为什么......

例如,我应该得到:数组 = [1, 2, 3, 4, 5]

其中 1、2、3、4 和 5 与 ip_list[0]、ip_list[1]、ip_list[2]、ip_list[3]、ip_list[4] 相关,但我得到类似的东西:

array = [2, 5, 3, 1, 4],每次我重新加载页面时都有不同的顺序......我认为这是因为 JavaScript 代码无法加载文本文件,因此给了我一些无序的输出,但这只是我的观点,新手“程序员”的观点......

请帮我解决这个问题!

杰瑞

最佳答案

您的代码是异步的,因此您的选择之一是使用 Promise s例如你可以这样写:

var files = [];
for( var n = 0; n < numberOfVPS; n++ ) {
files[n] = $.get("FILEPATH");
}
$.when(...files).done(function(){
array.push(...arguments);
});

https://api.jquery.com/jquery.when/

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax

https://davidwalsh.name/write-javascript-promises

关于javascript - 按预期顺序检索 GET 请求响应时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51528803/

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