javascript - Parse.User.logIn 卡住了

标签 javascript parse-platform parse-server

我做了一个用户登录功能:

export const userLogin = (email, password) => (dispatch) => {
    console.log(email, password);
  dispatch({ type: actionTypes.AUTH_LOGIN_STARTED });
  console.log("after dispatch");
  Parse.User.logIn(email, password, {
    success(user) {
        console.log("in success");
      dispatch({
        type: actionTypes.AUTH_LOGIN_SUCCESS,
        user: user.toJSON(),
      });
     window.location.replace('/');
    },
    error(user, error) {
        console.log("in error")
      console.log({ error });
      // The login failed. Check error to see why.
      dispatch({
        type: actionTypes.AUTH_LOGIN_ERROR,
        error,
      });
    },
  });
};

但它总是在 Parse.User.logIn 之后卡住,它不会成功或出错。我已经记录了电子邮件和密码,它们是正确的。

那么我在这里缺少什么?

最佳答案

Parse.User.Login does not have any third parameter .你应该使用 promise functions :

Parse.User.logIn(email, password)
  .then((user) => {
    console.log("in success");
    dispatch({
      type: actionTypes.AUTH_LOGIN_SUCCESS,
      user: user.toJSON(),
    });
    window.location.replace('/');
  })
  .error((user, error) => {
    console.log("in error")
    console.log({ error });
    // The login failed. Check error to see why.
    dispatch({
      type: actionTypes.AUTH_LOGIN_ERROR,
      error,
    });
  });

或者,如果你足够花哨,你可以使用新的 await 语法(我认为它更简洁):

export const userLogin = (email, password) => async (dispatch) => {
  console.log(email, password);
  dispatch({ type: actionTypes.AUTH_LOGIN_STARTED });
  console.log("after dispatch");

  try {
    const user = await Parse.User.logIn(email, password);
    console.log("in success");
    dispatch({
      type: actionTypes.AUTH_LOGIN_SUCCESS,
      user: user.toJSON(),
    });
    window.location.replace('/');
  } catch (error) {
    console.log("in error")
    console.log({ error });
    // The login failed. Check error to see why.
    dispatch({
      type: actionTypes.AUTH_LOGIN_ERROR,
      error,
    });
  }
};

关于javascript - Parse.User.logIn 卡住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52873074/

相关文章:

javascript - Puppeteer 错误,在抓取白页时无法读取未定义的属性 'getProperty'

php - setInterval 函数期间 $_SESSION 变量检查后 div 元素未隐藏

javascript - 成功和错误 Parse.User 回调均在 Parse.User.save() 上调用

ios - 从 Parse 获取当前用户密码的长度?

ios - 解析服务器密码重置电子邮件错误ios

heroku - 解析服务器无法发送推送通知?

javascript - 正则表达式匹配!

javascript - 如何将局部变量发送到仅在单击链接后呈现的部分?

ios - 解析调用两次的 ObjectsDidLoad

node.js - 解析服务器电话登录 - 该用户名的帐户已存在