gpt4 book ai didi

javascript - 按旁路顺序执行 HTTP 请求

转载 作者:太空宇宙 更新时间:2023-11-04 03:01:59 27 4
gpt4 key购买 nike

我想要实现的是同步执行 HTTP 请求的有序序列,但根据某些变量的值,我希望绕过其中一些变量。

作为示例(我在 Javascript 中使用 request 库来执行此操作):

request(httpReq1, function(error, response, body) {
// do something, like handling errors...
request(httpReq2, function(error, response, body) {
// do something else
});
});

因此这可以确保 httpReq2 将在 httpReq1 之后执行。

我不确定的是如何绕过第一个请求,例如,如果某个标志设置为 false,而不是执行 httpReq1 并等待响应,它只是跳转到 httpReq2保持顺序:

if (dontMakeHttpReq1) // where should this be placed?

request(httpReq1, function(error, response, body) {
// do something, like handling errors...
request(httpReq2, function(error, response, body) {
// do something else
});
});

解决这个问题的好方法是什么?

最佳答案

整理出数组中需要的请求列表,并使用async/await顺序执行它们

let requests = [];
if (doRequest1)
requests.push(httpReq1);

if (doRequest2)
requests.push(httpReq2);

/* etc .. for httpReq3 and so on */

// now execute them one by one in sequence
for(let req of requests) {
try {
await request(req);
} catch (err) {
// error handling here
}
}

关于javascript - 按旁路顺序执行 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52793005/

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