我有两个Web服务端点,我正在尝试履行承诺。我需要完成的是,一旦endpoint 1完成,我需要加载一些组件,一旦endpoint 1和endpoint 2都完成,我需要加载一些其他组件。我希望两个请求同时发送,但在第一个完成时运行一些代码,在所有请求完成时运行一些其他代码。
端点1-〉函数1
端点1+端点2-〉函数2
我使用axios作为web服务请求库。
我试过了
Promise.all([axios.get(endpoint1), axios.get(endpoint2)]).then(...)
但这将等待两个端点都返回,然后我才能继续强制代码的一个分支进行不必要的等待用途:
axios.get(endpoint1).then(...)
但我不知道如何确保这两个问题都能被另一个代码分支解决,我可以通过发送两次endpoint 1请求(一次使用Promise.all
,一次单独发送)来让它工作,但这似乎不太优雅,有更好的方法吗?
1条答案
按热度按时间py49o6xq1#
你可能喜欢;
显然
function2(...rs)
可以访问p1
和p2
的分辨率。