我正在尝试编写一个函数,该函数将数据拉入数组,然后将其打印到condole中。为了进行正确的工作for
循环,我使用IIFE函数来一致地检索所有数据,但是代码无法正常工作。结果为空数组:[]
。我认为这是我做错IIFE造成的麻烦。我该如何解决此错误?
var url = [
'http://www.json-generator.com/api/json/get/cevhxOsZnS',
'http://www.json-generator.com/api/json/get/cguaPsRxAi',
'http://www.json-generator.com/api/json/get/cfDZdmxnDm',
'http://www.json-generator.com/api/json/get/cfDZdmxnDm',
'http://www.json-generator.com/api/json/get/cfDZdmxnDm'
]
function fetchData(arg) {
var urls = Array.isArray(arg) ? arg : [...arguments]
var arr = [];
for (var i = 0; urls.length < i; i++) {
(function (i) {
fetch(urls[i])
.then(res => res.json())
.then(res => arr.push(res))
})(i)
}
return arr;
}
console.log(fetchData(...url)) // printed empty array: []