2017-03-24 4 views
1

Ich habe eine Komponente, die bei der Erstellung zwei Anforderungen an einen RESTful-Server auslöst. Die Antworten werden dann im Vue Store entsprechend gespeichert. Diese Komponente hat eine berechnete Eigenschaft, die von Antworten abhängt.Berechnete Eigenschaft in Abhängigkeit von zwei asynchronen Berechnungen in Vue.js

Aber wie geplant, löst jede relevante Änderung in der Filiale die Neuberechnung der Eigenschaft und aller nachfolgenden Aktualisierungen aus, beispielsweise in der zugehörigen Vorlage. Wie würde ich angeben, dass sich die Eigenschaft tatsächlich nicht geändert hat, wenn nur eine der erforderlichen Antworten empfangen wurde und keine Aktualisierungen erforderlich sind?

+1

wenn Sie einen beliebigen Code posten könnte vorteilhaft sein. Wenn ich Sie richtig verstehe - möchten Sie die berechneten nur berechnen, wenn beide Antworten ändern? –

+0

Verwenden Sie Vuex. Alle Aktionen/Mutationen/Getter-Sachen werden tatsächlich dazu führen, dass dein Problem gelöst wird. Info: http://vuex.vuejs.org/en/ – Potray

+0

Verwenden Sie Promise.all, um zu warten, bis beide Versprechen gelöst sind, bevor Sie Maßnahmen ergreifen. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all –

Antwort

1

Der Beitrag ist von vor einer Weile, aber ich stieß auf das gleiche Problem. Ich habe das noch nicht versucht, aber ich glaube, das ist die Lösung für dieses Problem zu sein:

https://vuex.vuejs.org/en/actions.html#composing-actions

Vor allem der letzte Teil mit dem async/await Beispiel. Es macht deutlich, wie Sie eine Mutation mit mehreren asynchronen Aktionen durchführen können.

Verwandte Themen