在我来说,我有一个存储库这样从temphire(清风)如何在一行中执行多个操作?
define(['durandal/system'], function (system) {
var Repository = (function() {
var repository = function (entityManagerProvider, entityTypeName, resourceName, fetchStrategy) {
.........
this.find = function (predicate) {
var query = breeze.EntityQuery
.from(resourceName)
.where(predicate);
return executeQuery(query);
};
function executeQuery(query) {
return entityManagerProvider.manager()
.executeQuery(query.using(fetchStrategy || breeze.FetchStrategy.FromServer))
.then(function (data) { return data.results; });
}
................
};
return repository;
})();
return {
create: create,
getCtor: Repository
};
function create(entityManagerProvider, entityTypeName, resourceName, fetchStrategy) {
return new Repository(entityManagerProvider, entityTypeName, resourceName, fetchStrategy);
}
});
NOW
如何才能做到像一些本
repository.query(predicate).execute();
function query(predicate) {
return query = breeze.EntityQuery
.from(resourceName)
.where(predicate);
};
function executeQuery(query) {
return entityManagerProvider.manager().executeQuery(query.using(fetchStrategy || breeze.FetchStrategy.FromServer)).then(function(data) {
return data.results;
});
}
function execute() -- >
return executeQuery
第一个动作返回的查询和执行后
非常感谢
不知道我明白这个问题。正在尝试做什么? – 2014-10-01 02:42:33
不知道这是你正在做的,但executeQuery()返回一个Q promise,所以处理data.results是这样的:executeQuery(someQuery).then(function(results){alert(results);}); – pawel 2014-10-02 06:52:39