我是Node js的新手,并尝试使用appmetrics-zipkin npm软件包将zipkins与我的节点APi集成。 Zipkin可以正常工作,除非在异步并行方法中有多个http调用时,它只能跟踪已完成的第一个http调用...我需要跟踪异步并行中的所有API调用...请帮助< / p>
答案 0 :(得分:0)
好吧,在没有看到任何代码的情况下,我只能给您一个有关如何实现此目标的示例。因此,http调用(例如,如果您使用node-fetch或axios)将返回promise。要并行等待诺言,您可以执行以下操作:
async function myParallelRequests() {
const requestOne = fetch(urlOne);
const requestTwo = fetch(urlTwo);
const requestThree = fetch(urlThree);
const [responseOne, responseTwo, responseThree] = await Promise.all([
requestOne,
requestTwo,
requestThree,
]);
}
请注意,我在这里使用fetch API,由node-fetch包在node中提供。提取返回Promise
。然后,我调用Promise.all(promises)
,其中promises
是一个Promise
数组。然后,您可以对3个响应做任何您想做的事情,并且您的请求是并行发出的。
希望这会有所帮助,祝您好运!