Javascript 在嵌套for循环中进行提取调用
我目前正在将我的局部函数转换为lambda函数,并且遇到了一些困难。在前面的一个方法中,我得到一个url片段数组,我必须通过编程将其串到前缀以返回数据 从逻辑上讲,我认为最好的方法是执行嵌套for循环。浏览添加url片段并执行fetch调用的一系列前缀 它在本地运行良好,但lambda会抛出错误Javascript 在嵌套for循环中进行提取调用,javascript,node.js,asynchronous,lambda,Javascript,Node.js,Asynchronous,Lambda,我目前正在将我的局部函数转换为lambda函数,并且遇到了一些困难。在前面的一个方法中,我得到一个url片段数组,我必须通过编程将其串到前缀以返回数据 从逻辑上讲,我认为最好的方法是执行嵌套for循环。浏览添加url片段并执行fetch调用的一系列前缀 它在本地运行良好,但lambda会抛出错误 function getVariantData(data, cb) { for (var i = 0; i < chapters.length; i++) { let source =
function getVariantData(data, cb) {
for (var i = 0; i < chapters.length; i++) {
let source = chapters[i];
// chapters = url prefix
data.forEach(async element => {
let res = await fetch(chapters[i] + element);
//element = url fragment
let body = await res.text();
createVariantsFile(element, source, body, cb);
});
}
}
函数getVariantData(数据,cb){
对于(var i=0;iasync function getVariantData(data, cb) {
for (var i = 0; i < chapters.length; i++) {
let source = chapters[i];
const promises = data.map((datum, index) => fetch(source+datum))
const chapterData = await Promise.all(promises)
console.log(chapterData)
// await data.map(async element => {
// return await (chapters[i] + element);
// createVariantsFile(element, source, body, cb);
// });
}
}
异步函数getVariantData(数据,cb){
对于(var i=0;i如果您不在两个版本之间更改变量名,例如
元素->数据,问题会更容易理解。第一个版本使用.text()
,第二个版本不是。第二个版本抛出了什么错误?啊,很抱歉,我重新编辑了变量名,因为我尝试了新函数来绕过它。第二个版本抛出了一个超时错误:{“errorMessage”:“2020-03-09T19:31:13.454Z f601e3b9-2a19-459d-a7a6-58000fd6e72a任务在3.00秒后超时”}您可能一次向同一台服务器发送了太多AJAX请求。并发请求的数量是有限制的,所以其余的请求都在排队,然后你会得到一个超时。