我正忙于与 API 通信的 node.js 项目,该项目涉及大量使用特定于该 API 的节点库。我已阅读(我认为)有关暂停所涉及的问题类型及其各种解决方案的所有现有问题,但仍不确定如何对我的问题应用正确的解决方案。
简而言之,我有一个从 API 库中多次调用的函数,需要确保它们都已完成,然后再继续。到目前为止,我已经设法使用出色的 caolan/async 库来处理我的同步/异步需求,但使用 API 库中的这个特定功能遇到了障碍。
该函数非常复杂,因为它涉及 https 和 SOAP 调用/解析,所以我试图避免重写它以使用 caolan/async,事实上,在这个阶段我什至不确定它为什么表现不佳。
这是一个异步函数,我需要多次调用,然后等待所有调用完成。我已经尝试了多种使用回调甚至 Promise(q 库)的方法,但无法让它按预期工作,并且我已经成功地使用了其他异步 API 函数。
出于绝望,我希望有一个笨拙的解决方案,我可以在我的程序中的某个时间点等待 5 秒,而所有现有的异步功能都已完成,但在 5 秒过去之前没有进一步的进展。因此,如果可能的话,我想要一个 5 秒的非阻塞暂停。
我可能可以使用光纤来做到这一点,但在我走这条路之前真的希望有另一个解决方案。