在沙发应用查询中调用多个视图



我需要根据表单中输入的几个条件搜索CouchDB。名称、标签数组等。然后,我需要各种视图来索引这些字段。最终,所有结果都将整理成数据.js并提供给mustache.html。 假设有 3 个视图 - docsByName、docsByTags、docsById。

我不知道的是,如何在查询.js中查询所有这些视图。可以做到这一点以及如何完成吗?

或者应该编写一个视图,以某种方式为每个搜索发出多个视图?

谢谢。

从你所说的,我假设你正在使用 Evently,所以我将引用 Evently 入门:

异步函数是主星,在这种情况下,它发出 Ajax 请求(但它可以做任何它想做的事情)。另一个需要注意的重要事情是,异步函数的第一个参数是一个回调,你用它来告诉 Evently 当你完成异步操作时。传递给回调函数的任何内容都将成为传递给数据函数的第一项。

简而言之:将您的 Ajax 请求放在 async.js .

作为旁注:Evently 只是编写 couchapp 的可能选择之一,目前尚不清楚它是否得到维护。但是它可以工作,并且很容易重新排列代码以不使用它。

编辑:这是一个示例异步函数(从旧程序剪切和粘贴):

function(cb, e) {
  var app = $$(this).app
    ;
  app.db.openDoc('SOMEDOCID', {
    error: function(code, error, reason) {
      alert("Error("+code+" "+error+"): "+reason);
    }
  , success: function(doc) {
      app.view('SOMEVIEWNAME', {
        include_docs: true
      , error: function(code, error, reason) {
          alert("Error("+code+" "+error+"): "+reason);
        }
      , success: function(resp) {
          resp.doc = doc;
          cb(resp);
        }
      });
    }
  });
}

最新更新