Javascript 同步微风执行器

Javascript 同步微风执行器,javascript,jquery,breeze,promise,q,Javascript,Jquery,Breeze,Promise,Q,我使用Breeze promiseExecuteQuery从数据库中获取如下数据: var getdata = function(){ var manager = new breeze.EntityManager(serviceName); var query = new EntityQuery().from('MyTable'); manager.executeQuery(query) .then(function(data){

我使用Breeze promise
ExecuteQuery
从数据库中获取如下数据:

var getdata = function(){
    var manager = new breeze.EntityManager(serviceName);
    var query = new EntityQuery().from('MyTable');
    manager.executeQuery(query)
                .then(function(data){
                     //line1
                     console.log('success');
                }); 
    //line2
    console.log('end');
}
是否有任何方法使此函数同步:在完成第1行之前不执行第2行(或查询失败)


谢谢

否。一旦函数是异步的,就没有真正的方法实现同步,但您可以链接承诺。i、 e

var getdata = function(){
    var manager = new breeze.EntityManager(serviceName);
    var query = new EntityQuery().from('MyTable');
    manager.executeQuery(query).then(doThis).then(doThat);
}

function doThis(data) {
  console.log('success');
}

function doThat() {
  console.log('end');
}

或者您可能想考虑GETDATA函数本身返回一个承诺。您可以在此处阅读更多关于此的信息:

var getdata = function() {
    var manager = new breeze.EntityManager(serviceName);
    var query = new EntityQuery().from('MyTable');
    manager.executeQuery(query).then(function(data) {
      console.log('success');
    }).then(function() {
      console.log('end');
    }