使用 requireJS jsonp 格式
require( ["jquery", "http://api.openweathermap.org/data/2.5/weather?q=Chennai,in&callback=define" ], function( $, weatherData) {
// process stuff
});
使用 requireJS 异步插件
require( ["jquery", "async!http://api.openweathermap.org/data/2.5/weather?q=Chennai,in" ], function( $, weatherData) {
// process stuff
});
- 上述代码块在处理过程中是否具有相同的效果并产生相同的结果?
- 如果它们确实有相同的结果,我们为什么要使用异步插件?
最佳答案
1.如果 jsonp 服务返回一个对象,那么它们会产生相同的结果。但是,如果它返回数据数组,则定义函数将使用它作为依赖项列表并抛出错误。异步插件会将数组传递给您的模块。
2.当您需要的脚本添加自己的附加脚本或在调用回调方法之前异步执行一些设置时,异步插件也很有用。通常,requirejs 在等待第一个脚本调用 Define() 时会超时或返回 null。
异步通过创建自己的脚本元素和回调函数来解决这个问题,这些脚本元素和回调函数不受 requirejs 的监控。
关于javascript - 使用 requireJS 异步插件和 requireJS jsonp 格式有区别吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23440130/