我正在尝试使用 react.js 的 waitFor 功能,但似乎我做错了什么。
我想做的基本是等待一家商店被填满,然后再从另一家商店打电话给它。1.在第一店注册token
RipplelinesStore.dispatcherIndex= Dispatcher.register(function(payload) {
var action = payload.action;
var result;
switch(action.actionType) {
case Constants.ActionTypes.ASK_RIPPLELINES:
registerAccount(action.result);
RipplelinesStore.emitChange(action.result);
break;
}
});
2.写在其他商店的等待
Dispatcher.register(function(payload) {
var action = payload.action;
var result;
switch(action.actionType) {
case Constants.ActionTypes.ASK_RIPPLEACCOUNTOVERVIEW:
console.log("overviewstore",payload);
Dispatcher.waitFor([
RipplelinesStore.dispatcherIndex,
]);
RippleaccountoverviewsStore.test= RipplelinesStore.getAll();
console.log(RippleaccountoverviewsStore.test);
break;
}
return true;
});
不幸的是,我的 getall() 方法返回一个空对象(getAll() 写得很好)。所以看起来 waitFor 调度程序功能不起作用。
基本上我知道这是因为第一家商店仍在接收来自服务器的答案,但我认为 waitFor 会等待它被提取我不明白。
有什么线索吗?谢谢!
编辑:我解雇了第一家商店,就像那样。我不明白的是,一旦我的骨干集合已获取,我将分派负载(我以承诺成功分派......)
ripplelinescollection.createLinesList(toresolve.toJSON()).then(function() {
Dispatcher.handleViewAction({
actionType: Constants.ActionTypes.ASK_RIPPLELINES,
result: ripplelinescollection
});
});
我还尝试将 waitfor 绑定到一个从未调用但另一家商店仍未等待的动作!诡异的 !