React 调度程序 WAITFOR
React dispatcher WAITFOR
我正在尝试使用 react.js 的 waitFor 函数,但似乎我做错了什么。
我想做的基本操作是等待一家商店装满,然后再从另一家商店调用它。
1.Register 第一个商店中的代币
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.Write他家等候
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() 方法 return 是一个空对象(getAll() 写得很好)。所以好像waitFor dispatcher函数没有起作用
基本上我知道那是因为第一家商店仍在从服务器接收答案,但我认为 waitFor 会等待它被提取我不明白。
有什么线索吗?谢谢!
编辑:我像 tha 一样启动了第一个商店获取。我不明白的是,一旦我的 backbone 集合已获取,我就会分派负载(我承诺成功分派...)
ripplelinescollection.createLinesList(toresolve.toJSON()).then(function() {
Dispatcher.handleViewAction({
actionType: Constants.ActionTypes.ASK_RIPPLELINES,
result: ripplelinescollection
});
});
我还尝试将 waitfor 绑定到一个从未调用过但另一个商店仍未等待的操作!奇怪!
似乎问题出在从服务器异步获取。 waitFor 不应该以这种方式工作。您将不得不引入另一个操作,该操作在从服务器接收到数据后立即触发。
看看这个答案:
我正在尝试使用 react.js 的 waitFor 函数,但似乎我做错了什么。
我想做的基本操作是等待一家商店装满,然后再从另一家商店调用它。 1.Register 第一个商店中的代币
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.Write他家等候
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() 方法 return 是一个空对象(getAll() 写得很好)。所以好像waitFor dispatcher函数没有起作用
基本上我知道那是因为第一家商店仍在从服务器接收答案,但我认为 waitFor 会等待它被提取我不明白。
有什么线索吗?谢谢!
编辑:我像 tha 一样启动了第一个商店获取。我不明白的是,一旦我的 backbone 集合已获取,我就会分派负载(我承诺成功分派...)
ripplelinescollection.createLinesList(toresolve.toJSON()).then(function() {
Dispatcher.handleViewAction({
actionType: Constants.ActionTypes.ASK_RIPPLELINES,
result: ripplelinescollection
});
});
我还尝试将 waitfor 绑定到一个从未调用过但另一个商店仍未等待的操作!奇怪!
似乎问题出在从服务器异步获取。 waitFor 不应该以这种方式工作。您将不得不引入另一个操作,该操作在从服务器接收到数据后立即触发。
看看这个答案: