2016-04-25 50 views
7

我有2个API调用 - 第二个调用使用第一个调用返回的内容。承诺这很容易:使用RxJS在Angular2中链接observables

myService.findAll() 

    // First call 
    .then(response => { 
     return myService.findSpecific(response.something); 
    }) 

    .then(response => { 
     // result from second API call 
    }); 

我该如何使用observables?

+0

好一点要记住的是,在RXJS承诺可以为最多将发出一个单一的项目(解决数据)观测量处理。 –

回答

8

您可以利用flatMap操作是这样的:

myService.findAll() 
    // First call 
    .flatMap(response => { 
    return myService.findSpecific(response.something); 
    }).subscribe(response => { 
    // result from second API call 
    }); 
+0

谢谢,这个答案帮助了我! +1 – Sander

+0

@Sander标记为正确的,如果它:) –