javascript - 使用 requireJS 异步插件和 requireJS jsonp 格式有区别吗

标签 javascript asynchronous requirejs jsonp

使用 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. 上述代码块在处理过程中是否具有相同的效果并产生相同的结果?
  2. 如果它们确实有相同的结果,我们为什么要使用异步插件?

最佳答案

1.如果 jsonp 服务返回一个对象,那么它们会产生相同的结果。但是,如果它返回数据数组,则定义函数将使用它作为依赖项列表并抛出错误。异步插件会将数组传递给您的模块。

2.当您需要的脚本添加自己的附加脚本或在调用回调方法之前异步执行一些设置时,异步插件也很有用。通常,requirejs 在等待第一个脚本调用 Define() 时会超时或返回 null。

异步通过创建自己的脚本元素和回调函数来解决这个问题,这些脚本元素和回调函数不受 requirejs 的监控。

关于javascript - 使用 requireJS 异步插件和 requireJS jsonp 格式有区别吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23440130/

相关文章:

javascript - 在 Angular Virtual Scroll 中使用父滚动条而不是子组件滚动条

Javascript:页面加载完成后运行函数,脚本加载异步

javascript - Django 管道和 javascript 依赖项

javascript - requirejs 如何确保为匿名模块正确设置模块名称?

php - 如何在php中回显循环并将其放入变量中?

javascript - 如何在屏幕尺寸改变时重新执行 jQuery

c# - await 不会按预期使用 StreamReader.ReadToEndAsync() 返回给调用者

javascript - r.js 编译失败

javascript - 获取表格单元格内容以在页面上向上移动

c# - 异常在异步代码块中被忽略