Действие должно вызываться после того, как действие fetchUser возвращает обещание. Вот код извлечения пользователя:
fetchUser({ commit }, user) {
let promise = new Promise((resolve, reject) => {
if (user.uid) {
commit("SET_LOGGED_IN", user !== null)
// do something ...
console.log('Resolving promise')
resolve(user);
} else {
commit("SET_USER", null)
console.log('Rejecting promise')
reject();
}
}
});
return promise;
},
и действие
someAction: firestoreAction(({ bindFirestoreRef, getters }) => {
let user = getters.user;
let promise = dispatch('fetchUser', {user});
console.log(`promise is ${promise}`);
//-----NEVER EXECUTES THIS STEP, SIMPLY GOES BLANK HERE----
promise.then(function(user) {
return bindFirestoreRef(
//dosomething...
});
return promise;
}),
Обещание не выполняется должным образом. Не уверен, что я здесь делаю неправильно, «тогда» после обещания все никогда не выполняется.
Может кто-нибудь указать, что я здесь делаю неправильно?