在javascript settimeout中一个接一个地调用两个函数

时间:2017-06-14 05:55:23

标签: javascript function asynchronous callback

我需要运行以下代码

document.getElementById("someID").focus();

以下代码

setTimeout(function(){loadEditor(param);}, 50);

但我无法使其异步。因为我无法修改

function loadEditor(param){ /* some stuff */  }

反正有没有这样做? 我到现在为止尝试过什么

setTimeout(function(){
    loadEditor(param);
    document.getElementById("someID").focus();
}, 50);

setTimeout(function(){
    $.when( loadEditor('question_stem-text') ).done(function() {
        document.getElementById("someID").focus();
        });
}, 50);

不成功

1 个答案:

答案 0 :(得分:1)

//ES6++
const delay = new Promise( (resolve, reject) => {
    setTimeout( () = > {
        loadEditor(param);
        resolve();
    }, 50);
});

delay.then( () => {
    document.getElementById("someID").focus();
});