Sto cercando di utilizzare la funzione waitFor di react.js ma sembra che stia facendo qualcosa di sbagliato.React dispatcher WAITFOR
Quello che voglio fare è semplice, attendere che un negozio venga riempito prima di chiamarlo da un altro negozio. 1.Register token nel primo negozio
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 l'attesa per l'altra negozio
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;
});
Purtroppo il mio metodo getall() restituiscono un oggetto vuoto (getAll() è scritto bene). Quindi sembra che la funzione waitFor del dispatcher non funzioni.
Fondamentalmente so che è perché il primo negozio sta ancora ricevendo la risposta dal server ma ho pensato che waitFor avrebbe aspettato che venisse recuperato. Non capisco.
Qualsiasi indizio? Grazie!
Modifica: sparo il primo negozio che preleva come quello. Quello che non capisco è che sto dispacciamento il carico una volta che la mia collezione spina dorsale ha recuperato (I messaggio concernente avere successo con una promessa ...)
ripplelinescollection.createLinesList(toresolve.toJSON()).then(function() {
Dispatcher.handleViewAction({
actionType: Constants.ActionTypes.ASK_RIPPLELINES,
result: ripplelinescollection
});
});
Ho anche cercato di impegnare la WAITFOR ad un'azione che non viene mai chiamato ma l'altro negozio non sta ancora aspettando! WEIRD!
Come esattamente si è in recupero che formano il server? I negozi sono sincroni, se si attiva una richiesta all'interno della richiamata del negozio, altri negozi non lo aspettano. –
Lo prendo dal mio controller di azioni, ho modificato il mio post –
Sembra che il tuo codice stia verificando diverse costanti di azione in entrambi i controller. Constants.ActionTypes.ASK_RIPPLELINES, Constants.ActionTypes.ASK_RIPPLEACCOUNTOVERVIEW. –