【发布时间】:2016-11-13 18:49:08
【问题描述】:
我玩那个 https://github.com/corasla/angular2-tackling-state-rxjs 。这是本文https://vsavkin.com/managing-state-in-angular-2-applications-caf78d123d02#.s1otnz6en 中使用 RxJS 的 Angular 状态管理器的实现。我想知道这里的减速器如何https://github.com/corasla/angular2-tackling-state-rxjs/blob/master/src/app/shared/stateAndDispatcher.ts#L92
(代码片段)
function filter(initState: string, actions: Observable<Action>): Observable<string> {
return actions.scan((state, action) => {
if (action instanceof SetVisibilityFilter) {
return action.filter;
} else {
return state;
}
}, initState);
}
例如向 api 发出请求并将请求中的值发送回 observable?返回承诺并没有解决问题
编辑: 我会这样做:
if (action instanceof SetVisibilityFilter) {
return new Promise(resolve=>setTimeout(()=> action.filter = 'Async', 100));
} else {
return state;
}
【问题讨论】:
-
你能展示你的尝试吗?我不明白你想要完成什么。
-
好的,我编辑了问题
-
You're
Promise用法没有意义,需要在某个时候解决。