Javascript 嵌套在Parse.com afterSave中的返回

Javascript 嵌套在Parse.com afterSave中的返回,javascript,parse-platform,Javascript,Parse Platform,正如我在afterSave中所理解的,没有“回应”。此外,在afterSave中,您不会“返回” 鉴于此,请注意我从一位同事那里找到的以下代码。请注意,同事在查询中“返回”了company.save return company.save(); 似乎不对。但我是不是遗漏了什么?有没有什么理由应该从嵌套的success函数中返回?很明显我错过了什么或者不知道什么 Parse.Cloud.afterSave("TableName", function(request) { var mys

正如我在afterSave中所理解的,没有“回应”。此外,在afterSave中,您不会“返回”

鉴于此,请注意我从一位同事那里找到的以下代码。请注意,同事在查询中“返回”了company.save

   return company.save();
似乎不对。但我是不是遗漏了什么?有没有什么理由应该从嵌套的success函数中返回?很明显我错过了什么或者不知道什么

Parse.Cloud.afterSave("TableName", function(request)
 {
 var mysteryState = request.object.get("state");
 var club = request.object.get("club");

 if (mysteryState == "specialState")
  {
  console.log(">>> specialState handling." );

  var query = new Parse.Query("Members");
  query.equalTo("club", club);

  query.count({
  success: function(count)
   {
   club.set("nb",count);

   Parse.Cloud.run("doSomeLongThing",{blah:blah});
   console.log(">>> ran long process in the nested query in afterSave");

   // mystery code: is it just wrong?
   ////////return company.save();

   // works fine as you'd expect:
   company.save();

   },

  error: function(error){...}

  });
  }
});

afterSave钩子没有响应对象,因此没有理由尝试返回任何内容

在其他云代码中,返回可能有助于将承诺传递给调用函数,但这种情况在afterSave钩子中是不相关的,因为没有调用函数。调用
company.save()
,由于无法从afterSave钩子返回任何内容,因此它是无用的

关于Bergi提到的,不可能因为没有回调而忽略回调。afterSave钩子不可能在Parse的云代码中的其他地方使用,返回语句也没有意义


他可能习惯于用承诺来编码。总是
从函数返回
值是一种很好的做法:-)感谢您的输入,Bergi!你真的认为总是从函数返回一个值是一种好的做法吗?在解析世界中,诸如“afterSave”之类的所有内容都没有返回权??是的,即使忽略回调的返回值,您仍然可以
返回它。可能函数在其他地方使用(或者您的代码被重写),并在那里使用返回值。特别是如果你在解析中使用承诺,这似乎是可能的。你问过你的同事吗?你绝对应该这样做——也许用他说的话更新(或回答)你的问题。出色的解释!对不起,直到现在才忘了给你打勾,拉塞尔。再次感谢