解析查询不返回结果

时间:2014-02-20 12:46:25

标签: parse-platform

我已经定义了一个解析云代码调用getChat(如下所示),但是当我运行它时,它不会返回任何结果

Parse.Cloud.define("getChat", function(request, response) {
  var allchat = [];
  var query = new Parse.Query("chat");
  query.find().then(function(results) {
    console.error("test"); //nothing in console
    console.error(results.length); //nothing in console
    for (var i = 0; i < results.length; ++i) {
      for(var iii = 0; iii<results[i].get("limitleft").length; iii+=2){
        if(results[i].get("limitleft")[iii] == request.params.user){
          allchat.push(results[i]);
        }
      }
    }
  });
  response.success(allchat);
});

1 个答案:

答案 0 :(得分:1)

Query.find()返回一个Promise。 “.then”将回调函数附加到该承诺。当Find完成时,它会执行回调。但是,您在启动查找后立即调用了response.success()。结果尚未交付。调用response.success()会有效取消查找,因为getChat已通过调用response.success()完成。

将调用放在块内的response.success()中!

-Bob