Io uso Reflux, e normalmente mi sto attivando dopo aver effettuato una chiamata ajax, e funziona bene. A scopo di test non ho avuto bisogno di una chiamata Ajax e ho notato che il trigger non funzionerà a meno che non dessi un timeout minimo di 5ms. Qui ci sono esempi funzionanti e non funzionanti.Il trigger di Reflusso non funzionerà senza un ritardo in init
Non funziona esempio:
window.threadStore = Reflux.createStore
init: ->
@state = @getInitialState()
@fetchThreads()
getInitialState: ->
loaded: false
threads: []
fetchThreads: ->
# ajax call for not Testing, and just trigger for Testing
@state.threads = FakeData.threads(20)
@state.loaded = true
@trigger(@state) # This will NOT work!
Ciò funzionerà:
window.threadStore = Reflux.createStore
init: ->
@state = @getInitialState()
@fetchThreads()
getInitialState: ->
loaded: false
threads: []
fetchThreads: ->
# ajax call for not Testing, and just trigger for Testing
@state.threads = FakeData.threads(20)
@state.loaded = true
setTimeout(=>
@trigger(@state) # This WILL work!
, 500)
Può spiegare perché non funziona senza ritardo e dovrebbe? È un bug o qualcosa che non capisco.