getRevenueByID 函数,但是遇到了Uncaught SyntaxError。我在这里做错了什么?
(async() =>{
try {
response = await fetch(mainURL);
data = await response.json();
console.log(data);
console.log(data.results[0].title);
ID_Array = [].concat.apply([], data.results.map(d => d.id))
console.log(ID_Array);
getRevenueByID(ID_Array);
} catch (error) {
console.log(error);
}
})();
getRevenueByID = (arr => {
for (let i = 0; i < arr.length; i++){
console.log("ID is: ", arr[i]);
getRevenueURL = await fetch('someurl' + arr[i] + '?api_key=YOUR_KEY&language=en-US');
console.log(getRevenueURL);
// let data = await getRevenueURL.json();
// console.log(data);
}
});
答案 0 :(得分:3)
getRevenueByID
本身不是异步函数。
“等待仅在异步函数中有效”表示“直接在”中,而不是“从调用栈中的某个地方调用”。
因此使其异步:
getRevenueByID = async (arr) => {
// ...
};
然后在调用它的地方等待它:
await getRevenueByID(ID_Array);