我需要根据表单中输入的几个条件搜索CouchDB。名称,标签数组等。然后,我需要各种视图来索引这些字段。最终,所有结果将在data.js中整理并提供给mustache.html。假设有3个视图 - docsByName,docsByTags,docsById。
我不知道的是,如何在query.js中查询所有这些视图。可以这样做吗?
或者应该采用哪种方法来编写一个视图,以某种方式为每个搜索进行多次发射?
谢谢。
答案 0 :(得分:1)
根据您的说法我假设您使用的是Evently,因此我将引用Evently primer:
async函数是主星,在这种情况下发出Ajax请求(但它可以做任何想做的事)。另一个需要注意的重要事项是async函数的第一个参数是一个回调函数,用于在完成异步操作时告诉Evently。 [...]无论您传递给回调函数,都会成为传递给数据函数的第一个项目。
简而言之:将您的Ajax请求放在async.js
。
作为旁注:最后只是编写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);
}
});
}
});
}