Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 异步辅助函数_Javascript_Asynchronous - Fatal编程技术网

Javascript 异步辅助函数

Javascript 异步辅助函数,javascript,asynchronous,Javascript,Asynchronous,我很难理解如何构造一个helper函数,当helper函数是异步的时,它可以作为条件函数的一部分使用 我已经定义了两个解析云代码函数,它们检查用户是否拥有有效帐户,并以稍微不同的方式响应,因此我想我应该创建第三个助手函数,它只检查用户是否拥有有效帐户。这是三个功能的外观: // Check if user account is active before allowing saves. Parse.Cloud.beforeSave("Item", function(request, respon

我很难理解如何构造一个helper函数,当helper函数是异步的时,它可以作为条件函数的一部分使用

我已经定义了两个解析云代码函数,它们检查用户是否拥有有效帐户,并以稍微不同的方式响应,因此我想我应该创建第三个助手函数,它只检查用户是否拥有有效帐户。这是三个功能的外观:

// Check if user account is active before allowing saves.
Parse.Cloud.beforeSave("Item", function(request, response) {
  if (isActiveUser(request.user)) {
    resonse.success();
  }
  else {
    response.error("Inactive user");
  }
});

// Checks if calling user account is active.
Parse.Cloud.define("isActive", function(request, response) {
  if (isActiveUser(request.user)) {
    response.success(true);
  }
  else {
    response.success(false);
  }
});

// Returns true if user is active.
function isActiveUser(user) {
  var query = new Parse.Query(User);
  query.first({
    success: function(user) {
      if (user !== null && typeof user === 'object') {
        return true;
      }
      else {
        return false;
      }
    }
  });
}

isActiveUser函数的目的是返回true或false,但正如Jaromanda指出的,它根本不返回任何内容。我不确定如何以一种更为事件驱动的方式来构建它,使其真正起作用。我希望有人能帮助这个试图闯入JS的根深蒂固的PHP程序员:)

在函数中使用回调函数--“isActiveUser()”怎么样

重写为:

function isActiveUser(user, callback) {
  var query = new Parse.Query(User);
  query.first({
    success: function(user) {
      if (user !== null && typeof user === 'object') {
        callback(" Active ",true);
      }
      else {
        callback(" Non-Active ",false);
      }
    }
  });
}
并调用此函数:

...
isActiveUser( your_user_item , function(err,flag){
  if(flag == true){
      // This User is active
  }
  else{
      // Non active , show some msg
  }
});

isActiveUser
根本不返回任何东西-因此,相当于
returnundefined
谢谢,我没有意识到内部函数可以从外部函数继承变量(即
response
对象可以在回调中使用)。但这似乎应该行得通。哈哈,我想他们在同一范围内。