我想在我的预先输出结果中连接更多http源的结果。 基本上是在plunker https://ng-bootstrap.github.io/app/components/typeahead/demos/http/plnkr.html中实现的。 添加第二个wiki源...
答案 0 :(得分:0)
通过正确嵌套请求,我想出了解决这个问题。 在plunker中替换以下代码。
search(term: string) {
if (term === '') {
return Observable.of([]);
}
let wikiUrl = 'https://en.wikipedia.org/w/api.php';
let wikiUrl2 = 'https://de.wikipedia.org/w/api.php';
let params = new URLSearchParams();
params.set('search', term);
params.set('action', 'opensearch');
params.set('format', 'json');
params.set('callback', 'JSONP_CALLBACK');
return this._jsonp
.get(wikiUrl, {search: params)
.map(response => response.json()[1])
.switchMap(responseEN => this._jsonp
.get(wikiUrl2, {search: params)
.map(response => {
let responseDE = response.json()[1];
responseEN.forEach(function(value){
console.log(value);
responseDE.push(value);
})
return responseDE;
})
);
}