gpt4 book ai didi

javascript - 循环遍历 fetch() 调用列表

转载 作者:行者123 更新时间:2023-12-02 23:52:55 27 4
gpt4 key购买 nike

我正在尝试循环处理一堆数据并进行异步调用。但是,我的语法不正确

async function getEmailData(conversationId){
fetch(aysynch)
.then(response => {return response.json(); })
.then(data => {
dictionary = {}
console.log(data)
var info = data.Body.ResponseMessages.Items[0].Conversation.ConversationNodes[0].Items[0]
console.log(info)
var conversationId = info.ConversationId.Id
var from = info.From.Mailbox.EmailAddress
var to = info.ToRecipients.map(function(recipient) {return recipient.EmailAddress})
var date = info.DateTimeReceived
dictionary[conversationId] = {'from':from, 'to': to, 'date': date}
return dictionary
})
}

x = [listOfIds] //10 in total

for (i=0; i<x.length; i++) {
console.log(x[i].ConversationId.Id)
let response = await getEmailData(x[i].ConversationId.Id)
let data = await response
console.log(data)
}

这是打印出所有 ID,然后获取 x 中的列表 ID 并运行该 ID 10 次。如何为每个请求发出 aysnch 请求?

最佳答案

一些问题:

  • 函数getEmailData没有返回任何内容。您需要返回 promise 链的结果。
  • 如果您不在此类函数内使用 awaitasync 就没有任何用处
  • async 函数外部的 await 无效。
  • response 已经是 await 的结果时,
  • await response 没有用处
  • 声明变量(使用 letvarconst)

所以这样做:

function getEmailData(conversationId){
return fetch(aysynch)
.then(response => response.json())
.then(data => {
const dictionary = {};
console.log(data);
var info = data.Body.ResponseMessages.Items[0].Conversation.ConversationNodes[0].Items[0];
console.log(info);
var conversationId = info.ConversationId.Id;
var from = info.From.Mailbox.EmailAddress;
var to = info.ToRecipients.map(recipient => recipient.EmailAddress);
var date = info.DateTimeReceived;
dictionary[conversationId] = {from, to, date};
return dictionary;
});
}

(async function() {
let x = [1, 2, 4, 6, 9, 13, 23, 22, 24, 19]; //10 in total

for (let i=0; i<x.length; i++) {
console.log(x[i].ConversationId.Id);
let data = await getEmailData(x[i].ConversationId.Id);
console.log(data);
}
})(); // Immediately invoked

关于javascript - 循环遍历 fetch() 调用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55562779/

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