2017-03-13 87 views

回答

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; 
     }) 
); 

}