gpt4 book ai didi

javascript - 如何在 Promise.all 中获取数据以等待另一个有条件的 fetch 语句的结果

转载 作者:行者123 更新时间:2023-11-28 03:27:24 25 4
gpt4 key购买 nike

我有一个条件提取,它确定后续提取URL的一部分,但我只希望它在特定的环境下运行状况。

以下内容不会等待并立即运行try:

async function fetchURLs() {
let sessionWait = false;
if ((check1 === true) && (check2 === false))
{sessionWait = await getURL();
} else {sessionWait = true}

if (sessionWait === true){
try {
var [a, b, c] = await Promise.all([

fetch(dataUrl, {
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
method: 'post',
}).then((response) => response.text()).catch(error => console.log(error.message)),
fetch(settingsUrl).then((response) => response.text()).catch(error => console.log(error.message))

} catch (error) {
console.log(error);
}

});
}

async function getURL(){

let subDomain = 'a';

fetchAdd = "https://" + subDomain + ".dexcom.com/ShareWebServices/Services/General/LoginPublisherAccountByName"
await fetch(fetchAdd, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
}).then((res) => res.json()).then((SessionData) => dataUrl = "https://" + SessionData).catch(error => console.log(error.message));

return true;
}

最佳答案

 const tasks = getTaskArray();
return tasks.reduce((promiseChain, currentTask) => {
return promiseChain​.​then​(​chainResults =>
currentTask​.​then​(​currentResult =>
[ ...chainResults, currentResult ] )
);
}, Promise​.​resolve​([])).​then​(​arrayOfResults => {
// Do something with all results
});

此链接可能对您有帮助。 https://decembersoft.com/posts/promises-in-serial-with- 数组缩减/

关于javascript - 如何在 Promise.all 中获取数据以等待另一个有条件的 fetch 语句的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58507796/

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