Ich habe eine Aktion, die ein neues Versprechen und geben einen Entschluss schafft:Generieren Sie ein paar Versprechen, ohne auf alle zu antworten?
actions: {
myAction(context, data) {
return new Promise((resolve, reject) => {
this.$http("/api/something").then(response => {
resolve(response);
}, error => {
reject(error);
})
})
}
}
Nun, ich habe zwei Komponenten diese Aktion aufrufen (Erzeugen von zwei neuen Promises), aber nur die zweite Funktion nach der anderen Aktion tun muss die Entschlossenheit kommt an.
firstCall: function() {
this.$store.dispatch("myAction");
}
secondCall: function() {
this.$store.dispatch("myAction").then(response => {
//Do something after receiving new data
}, error => {
console.error("Error")
})
}
Ist dies ein Fehler/eine schlechte Vorgehensweise, um eine Versprechung zu erzeugen, ohne auf alle ihre Entschlüsse zu antworten?
Wenn Sie nichts tun müssen, müssen Sie nichts tun. Das ist nicht falsch. – deceze
Sie müssen nicht in ein zusätzliches "neues Versprechen" einbinden, sondern geben nur das Ergebnis von 'this. $ Http' zurück. –