【发布时间】:2017-04-04 04:16:57
【问题描述】:
我目前正在从 angular 1.x 迁移到 angular 2。该应用程序目前遵循 John Papa 的风格指南Return a Promise from Data Calls。
activate();
function activate() {
/**
* Step 1
* Ask the getAvengers function for the
* avenger data and wait for the promise
*/
return getAvengers().then(function() {
/**
* Step 4
* Perform an action on resolve of final promise
*/
logger.info('Activated Avengers View');
});
}
function getAvengers() {
/**
* Step 2
* Ask the data service for the data and wait
* for the promise
*/
return dataservice.getAvengers()
.then(function(data) {
/**
* Step 3
* set the data and resolve the promise
*/
vm.avengers = data;
return vm.avengers;
});
}
如何使用 Observables 做同样的事情?有了promise,我可以在多个函数中写.then() 并返回它,这样调用者函数也将等待promise。但是对于可观察的,正确的做法是什么?
我应该在哪里订阅,我应该在哪里映射值并返回 observable?
【问题讨论】:
-
是的,我在使用 Observable 时遇到了同样的问题。
标签: angular angular2-observables