1

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

我不知道的是,如何在 query.js 中查询所有这些视图。这可以做到吗?怎么做?

或者该方法应该是编写一个视图,以某种方式为每个搜索进行多次发射?

谢谢你。

4

1 回答 1

1

根据您所说,我假设您正在使用Evently,所以我将引用Evently 入门

async 函数是主要的明星,在这种情况下它发出一个 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);
        }
      });
    }
  });
}
于 2011-05-21T16:22:51.380 回答