返回解析云代码关系查询的结果

时间:2015-02-23 23:15:32

标签: javascript parse-platform

我使用Parse Cloud Code来托管Web应用程序,但是我在尝试使关系查询工作时遇到了问题。我已经尝试过Coderwall https://coderwall.com/p/n22mqq/including-relational-data-in-a-query-parse-com的示例,但在尝试渲染结果之前,我不确定如何收集查询结果。

function queryProducts(limit) {

  var post = Parse.Object.extend("Post");
  var query = new Parse.Query(post);
  query.limit(limit);

  var data = new Array();

  query.find().then(function (posts) {
    var cb = _.after(posts.length, function () {
      console.log("after"+ data);
      return data;
    });
    _.each(posts, function (post) {
      var images = post.relation("images");
      images.query().find().then(function (images) {
        data.push(post);
        cb();
      });
    });
  });
}

app.get('/', function (req, res) {
  results = queryProducts(10);
  res.render('index', { products: results });
});

1 个答案:

答案 0 :(得分:1)

要回答我自己的问题,答案其实很简单,如果你在Parse docs https://parse.com/docs/js_guide#promises-parallel中读到关于并行承诺的内容,那么这个例子错过了函数传递给final的那个()可以接受一系列结果,例如

Parse.Promise
    .when([query0.find(), query1.find()])
    .then(function (query0Results, query1Results) {
        res.render('index',
            {
                query0Results: query0Results,
                query1Results: query1Results,
            }
        );
});