jQuery.ajax({async: false})
仍然使用XMLHttpRequest对象吗?jQuery的同步AJAX请求如何工作?
如果是这样,请求如何同步?
有刚刚函数定义,允许由XHR推出异步请求被包裹在一个同步封装内部的一些机制?
我问,因为我想将异步函数调用包装到同步包装中。
编辑:
我想为依存关系做到这一点。在加载所有外部依赖脚本之前,我不需要运行任何操作,但是,我宁愿不同步加载每个文件。
基本上,我想这样的:
require(['lib1.js','lib2.js'])
Library1Function();
Library2Function();
要直到两个被加载的同时加载LIB1和LIB2,但块。
我知道我可以用一个回调做到这一点,但是还是不行,如果我包括文件也包括以同样的方式依赖。
EDITx2
之所以回调不工作:
# lib2.js
window.Library2Function = function(input) {
alert(input);
}
# lib1.js
require('lib2.js', function() {
window.Library1Function = function() {
window.Library2Function('Hi there');
}
});
# main.js
require('lib1.js', function() {
window.Library1Function();
});
的问题是,在main.js,该回调将得到被红牌罚下一旦lib1.js加载和运行。 问题是,Library2Function
直到加载lib2.js才会实际定义,发生后解析了lib1.js。
你能解释'你的同步包装'是什么意思,你为什么需要它? – strager 2010-08-14 04:36:31
在您的编辑:为什么不回调工作?你能澄清一点吗? – strager 2010-08-14 04:42:25
请参阅第二编辑。 – 2010-08-14 04:47:33