如何从在 JS 中用作参数的匿名函数中分配外部作用域变量

How to assign an outer scoped variable from within an anonymous function being used as a param in JS?

本文关键字:函数 分配 变量 作用域 外部 参数 JS      更新时间:2023-09-26

(想不出任何更简单的方法来编写标题,但代码应该解释它)。

这是我的代码:

function logIn(email, password) {
   var response;
   Parse.User.logIn(email, password, {
     success: function(user) {
       response = [true, user];
     },
     error: function(user, error) {
       response = [false, "Error: " + error.code + " " + error.message];
     }
   });
   return response; // still undefined :(
}

如何正确返回此函数的response以便对其进行定义?只是把return response放在成功:和错误:回调显然不会返回外部logIn()函数,所以我有点难倒。

alert(response);

正在执行之前

response = ...

因为您的Parse.User.logIn函数不会立即运行它的回调。如果是这样,那么你就不会有问题了。

function logIn(email, password, callback) {
   Parse.User.logIn(email, password, {
     success: function(user) {
       callback([true, user]);
     },
     error: function(user, error) {
       callback([false, "Error: " + error.code + " " + error.message]);
     }
   });
}
logIn(..., ..., function(response) {
});

但是,在这一点上,函数服务器是否有任何目的就变得值得怀疑了。为错误和成功提供单独的功能可能会更好。