避免将承诺与Firebase嵌套

时间:2019-04-07 05:51:17

标签: javascript firebase-authentication eslint

我的目标是注册后自动发送验证电子邮件。 我将其设为Firebase函数。

我的代码在下面。

firebase.auth().signInWithEmailAndPassword(email, password)
        .then(userCredential => {
            console.log(userCredential);

            Firebase.auth().sendSignInLinkToEmail(email, actionCodeSettings)
            .then(() => {
                window.localStorage.setItem('emailForSignIn', email);
                res.status(200).send(userCredential);
                res.status(200).send(userCredential);
                return;
            })
            .catch(function(error) {
                // Some error occurred, you can inspect the code: error.code
            });
            return;
        })
        .catch(error => {
            console.log(error)
            res.status(400).send(error);
})

但是皮棉会警告这种处理。

如果我的方法无效,请纠正我。

下面是我的代码屏幕。 enter image description here

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

firebase.auth().signInWithEmailAndPassword(email, password)
  .then(userCredential => {
    console.log(userCredential);
    return Firebase.auth().sendSignInLinkToEmail(email, actionCodeSettings)
  })
  .then(res => {
    window.localStorage.setItem('emailForSignIn', email);
    res.status(200).send(userCredential);
    res.status(200).send(userCredential);
    return; 
  })
  .catch(error => {
    console.log(error)
    res.status(400).send(error);
  })