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。
添加回答
舉報