我想更改此代码以使用回调函数。我希望程序在调用ExecuteScriptForEdit
后调用DynamicLoadScriptForEdit()
,但此代码不起作用。
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');
}
请帮帮我。谢谢。
答案 0 :(得分:3)
为了实现这一点,您可以在DynamicLoadScriptForEdit()
参数中将callback
提供的函数传递给较低级别的函数,然后在脚本的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);
}