web-dev-qa-db-de.com

Ist store.dispatch in Redux synchron oder asynchron

Mir ist klar, dass dies eine grundlegende Frage ist, aber ich hatte kein Glück, die Antwort woanders zu finden.

Ist store.dispatch synchron oder asynchron in Redux?

Wenn es asynchron ist, besteht die Möglichkeit, einen Rückruf hinzuzufügen, nachdem die Aktion weitergegeben wurde, wie dies mit React möglich ist.

78
dev-null

AFAIK, Dispatching-Aktion ist synchron. Falls Sie bereit sind, den asynchronen Anruf anzusprechen, können Sie die Thunk-Middleware in Redux verwenden, wobei der Versand als eine Rückruffunktion bereitgestellt wird, die Sie nach Belieben aufrufen können. Für weitere Informationen lesen Sie diese Antwort am SO vom Autor selbst: Wie wird eine Redux-Aktion mit einer Zeitüberschreitung ausgelöst?

65
agpt

Niemand weiß es besser als der Code selbst . =) Wie Sie sehen, ist dispatch absolut synchron. Die einzige Warnung hier ist, dass store enhancers die Methode dispatch ersetzen kann (und kann). Schauen Sie sich zum Beispiel bei applyMiddleware enhancer an, damit können Sie Middlewares einbinden, indem Sie die Standardmethode dispatch durch eine eigene Implementierung ersetzen. Obwohl ich noch nie einen Redux enhancer gesehen habe, der tatsächlich die Synchronität von dispatch aufhebt.

48
fkulikov