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

Returning result of parse cloud code relation query

本文关键字:查询 结果 关系 代码 返回      更新时间:2024-03-31

我正在使用解析云代码来托管一个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 });
});

要回答我自己的问题,如果你在Parse文档中读到并行承诺的话,答案实际上很容易https://parse.com/docs/js_guide#promises-平行地,这个例子遗漏的是,函数传递到final,然后()可以接受一组结果,例如

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