Javascript 如何在一行中执行多个操作?

Javascript 如何在一行中执行多个操作?,javascript,breeze,Javascript,Breeze,在我的例子中,我有一个来自temphire(breeze)的这样的存储库 现在 你怎么能这样做 repository.query(predicate).execute(); function query(predicate) { return query = breeze.EntityQuery .from(resourceName) .where(predicate); }; function executeQuery(query) { return entityManag

在我的例子中,我有一个来自temphire(breeze)的这样的存储库

现在

你怎么能这样做

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
第一个操作返回要执行的查询和之后的操作


非常感谢

我认为您尝试的问题在于
返回
终止执行。如果您想在该函数中执行某些操作并返回,那么您需要在返回之前执行这些操作

另一方面,如果您确实需要返回值,然后执行某些操作,那么您应该有一个方法来调用期望返回的函数,调用该函数以获取返回值,然后让该调用函数执行您想要执行的操作。如果执行需要返回值的函数中的一些数据,则返回该信息和返回的值,并将其传递给执行该操作的函数。

使用

executeQueryLocally//这是syn

而不是

executeQuery//这是异步的


我想将查询和结果完全分开。因为rep.query(pred1).where(pred2)…exec()不确定我是否理解这个问题。你想做什么?不确定这是你想做的,但是executeQuery()返回一个Q承诺,所以像这样处理data.results:executeQuery(someQuery).then(函数(结果){alert(results);});
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