3 回答
TA贡献1850条经验 获得超11个赞
尝试以下操作async / await。
async submit(e){
e.preventDefault();
const { user} = this.state;
try {
const userEmailAdded = await commonService.AddEmail(user);
const userCreated = await commonService.createUsers(user);
} catch (err) {
console.log(err);
}
}
确保在两个函数调用中都返回一个承诺。如果返回值不是 promise,则使用以下代码将其包装在 promise 中
function AddEmail(user) {
return new Promise((resolve, reject){
const createdUser = auth.createUserWithEmailAndPassword(user.email,user.password);
if(createdUser)
return resolve(createdUser);
else
return reject("Error in creating user.");
})
}
检查控制台中是否有任何错误。如果没有,则两个调用都通过。
TA贡献1847条经验 获得超11个赞
尝试使用此代码。
submits(e) {
e.preventDefault();
const { user} = this.state;
commonService.AddEmail(user)
.then(() => commonService.createUsers(user))
.then(() =>{//success})
.catch(err=> console.log(err));
}
TA贡献1893条经验 获得超10个赞
return auth.createUserWithEmailAndPassword(user.email,user.password);
返回函数必须是使用.then的 javascript Promise。
您可以尝试console.log(auth.createUserWithEmailAndPassword)
它是否是 Promise。
添加回答
举报