gpt4 book ai didi

api - 如何搜索多个api服务

转载 作者:太空狗 更新时间:2023-10-29 18:31:16 26 4
gpt4 key购买 nike

我正在开发一个带有 angular 2 的搜索引擎。因此,我使用来自多个平台的 API。

如果我从每个 api 服务手动调用搜索功能,它就会工作。

但是可以为每个 api 服务做同样的事情吗?

每个 api 服务都具有相同的功能:

search (query: string): Observable<Array<SearchResult>> { ... }

在 UI 中,我想用制表符分隔结果。

因此每个 api 服务都有一个标题:

public title: string = "the title";

为了在本地存储搜索结果,我有一个由每个 api 服务扩展的类。这个类有辅助函数等。

最佳答案

根据您需要的行为,您可以使用mergeconcatforkJoin 将多个流合并为一个。

代码看起来几乎一样。

例如,使用 merge 将 2 个流合并为一个。

如果您有一个 API 列表,您需要调用它来进行搜索。您的代码将如下所示。

let apis: string[] = [];

let observables = apis.map(api => search(api)); // get an array of observables

let merged = observables.reduce((previous, current) => previous.merge(current), new EmptyObservable()); // merge all obserbable in the list into one.

merged.subscribe(res => doSomething(res));

这篇文章可能是helpful .

关于api - 如何搜索多个api服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43779193/

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