javascript回调-脚本的执行顺序是随机的

时间:2018-12-18 12:14:26

标签: javascript callback

我有这个问题-执行此功能时

function(){
    var after = function(){										             
        server.executescript("scriptname")
    };
    var before = function (callback) {
        server.executescript("scriptname2")
        callback();
    };
    before(after);
}

脚本执行是随机的,而不是我期望的:

  1. scriptname2
  2. 脚本名

我想念什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

这似乎可行

function(){
    function after(){
        server.executescript("scriptname");
    }
    function before(){
        return new Promise((resolve, reject)=>{
            server.executescript("scriptname2");
            resolve();
        });
    }
    before().then(after);
}

谢谢大家的参与!

答案 1 :(得分:-1)

您看到的订单是预期的订单:

var after = async function() {
  await console.log("scriptname");
};

var before = async function (callback) {
  await console.log("scriptname2");
  callback();
};

before(after);

  1. 您首先调用“ before()”函数,该函数将调用“ scriptname2”。
  2. 然后,您将调用“ callback()”,这是您的“ after()”函数。
  3. 哪个将叫您的“脚本名”。