我需要在一个函数上调用4个不同的API,该函数需要一个接一个地执行,因为我之前的API结果将使用下一个调用作为参数。例如:我有一个geo Ip调用API,然后我需要调用另一个API,我需要传递从第一个API调用获得的lat和long。
如何在angular 4上完成此任务?
我听说过一些方法,如flatmap和forkjoin。这个方法可以使用吗?(我没有任何代码,因为我有点困惑)。
我需要在一个函数上调用4个不同的API,该函数需要一个接一个地执行,因为我之前的API结果将使用下一个调用作为参数。例如:我有一个geo Ip调用API,然后我需要调用另一个API,我需要传递从第一个API调用获得的lat和long。
如何在angular 4上完成此任务?
我听说过一些方法,如flatmap和forkjoin。这个方法可以使用吗?(我没有任何代码,因为我有点困惑)。
2条答案
按热度按时间bkkx9g8r1#
您可以执行以下操作:
因此,这里基本上你是链接http调用。首先,我们请求从/api/user/1获取一个用户。一旦加载,我们就发出第二个请求,获取那个特定角色的homeworld。一旦我们获取了homeworld,我们就把它添加到角色对象中,并在我们的组件上设置loadedCharacter属性,你可以在那里对4个https调用做类似的事情。
您可以使用mergeMap运算子范例来执行此作业:
有关更多信息,请访问here
fxnxkyjh2#
如果可以使用
es6
,则可以使用async
和await