【问题标题】:How to use callback function in javascript?如何在javascript中使用回调函数?
【发布时间】:2017-02-09 19:37:14
【问题描述】:

我想更改此代码以使用回调函数。我希望程序在调用DynamicLoadScriptForEdit() 后调用ExecuteScriptForEdit,但是这段代码不起作用。

window.onload = function() {
  DynamicLoadScriptForEdit('/temps/F.js', function(err) {
    ExecuteScriptForEdit();
  }); //네트워크가 좋으면 상관없지만 안좋으면 동기화가 실패, 콜백으로 가야함
}

function DynamicLoad(source) {
    var script = document.createElement('script');
    script.src = source;
    script.onload = function() {
        //do stuff with the script 
    };
    document.head.appendChild(script);
}

function DynamicLoadScriptForEdit(source, callback) {
    DynamicLoad(source);
    OnButton('ID_Button_Test');
}

请帮助我。谢谢。

【问题讨论】:

  • function DynamicLoad(source) { var script = document.createElement('script'); script.src = 源; script.onload = function () { //用脚本做一些事情 }; document.head.appendChild(脚本); } function DynamicLoadScriptForEdit(source, callback) { DynamicLoad(source); OnButton('ID_Button_Test'); }
  • @Tushar 这是代码。

标签: javascript jquery node.js express


【解决方案1】:

要实现这一点,您可以将在callback 参数中提供给DynamicLoadScriptForEdit() 的函数传递给较低级别​​的函数,然后在脚本的onload 处理程序中调用它。试试这个:

window.onload = function() {
    DynamicLoadScriptForEdit('/temps/F.js', function(err) {
        ExecuteScriptForEdit();
    });
}

function DynamicLoadScriptForEdit(source, callback) {
    DynamicLoad(source, callback); // provide callback function
    OnButton('ID_Button_Test');
}

function DynamicLoad(source, callback) { // receive callback function here
    var script = document.createElement('script');
    script.src = source;
    script.onload = function() {
        // do stuff with the script 

        callback && callback(); // call here
    };
    document.head.appendChild(script);
}

【讨论】:

  • 你救了我。对不起,我不擅长写英文。谢谢!!我记得你。
猜你喜欢
  • 2014-01-27
  • 2014-04-26
  • 1970-01-01
  • 2017-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 2020-03-07
相关资源
最近更新 更多