Я пытаюсь использовать функцию ожидания для react.js, но, похоже, я делаю что-то не так.
То, что я хочу сделать, это основное: дождаться заполнения магазина, прежде чем звонить из другого магазина. 1.Зарегистрируйте токен в первом магазине
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
});
});
Я также попытался связать ожидание с действием, которое никогда не вызывается, но другой магазин все еще не ждет! СТРАННЫЙ !