Parse Cloud Success函数中的参数:

时间:2014-09-07 00:54:01

标签: javascript parse-platform

以下是Parse云代码指南中的三个独立示例:我的问题是关于"成功"在这三个例子中:这两个成功函数的参数," list"," object"和"结果":我在其余的代码中找不到它们。它们是如何传递给函数的?它们是新创建的变量吗?成功功能如何运作? (我是JavaScript的新手)

 var query = relation.query();
 query.equalTo("title", "I'm Hungry");
 query.find({
    success:function(list) {
 }
 });


var GameScore = Parse.Object.extend("GameScore");
var query = new Parse.Query(GameScore);
query.equalTo("playerEmail", "dstemkoski@example.com");
query.first({
   success: function(object) {
   // Successfully retrieved the object.
 },
    error: function(error) {
alert("Error: " + error.code + " " + error.message);
 }
});


var GameScore = Parse.Object.extend("GameScore");
var query = new Parse.Query(GameScore);
query.equalTo("playerName", "Dan Stemkoski");
query.find({
   success: function(results) {
      alert("Successfully retrieved " + results.length + " scores.");
      // Do something with the returned Parse.Object values
   for (var i = 0; i < results.length; i++) { 
      var object = results[i];
      alert(object.id + ' - ' + object.get('playerName'));
   }
 },
 error: function(error) {
   alert("Error: " + error.code + " " + error.message);
 }
});

1 个答案:

答案 0 :(得分:1)

您的success函数是回调函数。所以,你的问题是合乎逻辑的:

什么是回调?

好吧,当您从客户端向服务器发送请求时,服务器将处理请求并发回响应。但是,当请求成功返回响应时,客户端必须具有事件处理程序。这种事件就是回调。回调的参数是来自服务器的有效响应。

现在,您有两次拨打find并致电first

.find发送查询并希望获得结果记录列表作为响应。

.first发送查询并期望获得符合条件的第一条记录。

您有一个query,您希望其结果的标题为"I'm Hungry"。名为list的参数应该包含这些值(您可以为回调参数指定任何名称)。

接下来,您希望object的玩家电子邮件为"dstemkoski@example.com"。您正在调用first,因为电子邮件应该是唯一的,您希望在服务器端优化查询并在客户端处理单个对象而不是列表。

最后,您通过playerName进行查询,匹配"Dan Stemkoski",并且您希望results能够保留与该名称匹配的玩家。