【发布时间】:2020-01-27 16:31:44
【问题描述】:
在 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;
}),
Promise 未按预期执行。不知道我在这里做错了什么,承诺之后的“then”永远不会执行。
有人能指出我在这里做错了什么吗?
【问题讨论】:
-
更改 let promise= 作为返回猜测它有效
标签: javascript vue.js promise