以下是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);
}
});
答案 0 :(得分:1)
您的success
函数是回调函数。所以,你的问题是合乎逻辑的:
什么是回调?
好吧,当您从客户端向服务器发送请求时,服务器将处理请求并发回响应。但是,当请求成功返回响应时,客户端必须具有事件处理程序。这种事件就是回调。回调的参数是来自服务器的有效响应。
现在,您有两次拨打find
并致电first
。
.find
发送查询并希望获得结果记录列表作为响应。
.first
发送查询并期望获得符合条件的第一条记录。
您有一个query
,您希望其结果的标题为"I'm Hungry"
。名为list
的参数应该包含这些值(您可以为回调参数指定任何名称)。
接下来,您希望object
的玩家电子邮件为"dstemkoski@example.com"
。您正在调用first
,因为电子邮件应该是唯一的,您希望在服务器端优化查询并在客户端处理单个对象而不是列表。
最后,您通过playerName进行查询,匹配"Dan Stemkoski"
,并且您希望results
能够保留与该名称匹配的玩家。