我的传奇根看起来像这样
export default function* root() {
yield takeLatest(LOAD_SEARCHRESULTS, getSearchResults);
}
它监视LOAD_SEARCHRESULTS动作,然后调用getSearchResults函数。
我有什么办法可以查看root用户的多个操作? 像这样:
export default function* root() {
yield takeLatest(LOAD_SEARCHRESULTS, getSearchResults);
yield takeLatest(CHANGE_ALIASFILTER, getSearchResults);
yield takeLatest(CHANGE_CATFILTER, getSearchResults);
}
因此,如果其中有任何一项动作发生,它将调用getSearchResults。我已经试过yield all([])和takeEvery,但是它只能监视第一个动作。
答案 0 :(得分:12)
takeLatest也可以执行一系列操作,因此您只需要执行
getUsers() {
return this.userService.getUsers().pipe(map(data => this.users = data));
}
另一种选择是使用export default function* root() {
yield takeLatest([LOAD_SEARCHRESULTS, CHANGE_ALIASFILTER, CHANGE_CATFILTER], getSearchResults);
}
和all
,例如here