Вот некоторый JS код, связанный с обработкой пользователей Parse в веб-приложении, с непредвиденным поведением.
......
Parse.initialize(process.env.APP_ID);
Parse.serverURL = process.env.SERVER_URL;
Parse.User.logIn(req.body.usrname, req.body.password, {
success: user => {
console.log("OK-OK:"+user);
checkIfLoggedIn();
res.render('pages/index.ejs', {});
},
error: (user, error) => {
console.log("NG-NG:"+user, error);
checkIfLoggedIn();
res.render('pages/login.ejs', {});
},
});
......
function checkIfLoggedIn() {
var currentUser = Parse.User.current();
if (currentUser) {
console.log("Parse.User.current is A REAL USER -- logged in!!")
} else {
console.log("Parse.User.current is NULL -- login failed!!")
}
}
Теперь вопрос ниже. При выполнении приведенного выше кода сообщения: "OK-OK:" и "NG-NG:" оба отображаются в журналах, как и ожидалось. Но вызов функции checkIfLoggedIn () всегда отображает ошибку:
Parse.User.current is NULL -- login failed!!
Почему это так? Разве это не должно показывать успех, когда мы достигаем "ОК-ОК:" ?