【问题标题】:Parameter in Parse Cloud Success function:Parse Cloud Success函数中的参数:
【发布时间】:2023-04-05 19:18:01
【问题描述】:

以下是 Parse cloud 代码指南中的三个独立示例:我的问题是关于三个示例中的“成功”:这两个成功函数的参数,“列表”、“对象”和“结果”:我没有在其余代码中找不到它们。它们是如何传递给函数的?它们是新创建的变量吗?成功功能如何运作? (我是 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);
 }
});

【问题讨论】:

    标签: javascript parse-platform


    【解决方案1】:

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

    什么是回调?

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

    现在,您有两个呼叫 find 和一个呼叫 first

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

    .first 发送查询并期望获得与条件匹配的第一条记录。

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

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

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

    【讨论】:

    • 感谢您的精彩解释!我还有一些问题。如果函数返回两个结果而不是一个结果怎么办?我应该使用两个参数来保存吗?如果是这样,从结果中传递值的顺序是什么?
    • 如果你有多个结果,那么发送到客户端的列表应该包含更多的元素,所以一个参数就足够了。
    • 酷,非常感谢您的帮助。如果不是太麻烦的话,你能帮我解决这个问题吗? stackoverflow.com/questions/25712446/…
    • 这不是太麻烦,但这应该是一个单独的问题。您需要描述在服务器上使用的数据源,以便我们进一步帮助您
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 2014-10-09
    • 2017-05-01
    相关资源
    最近更新 更多