0

在RequireJS中,有没有等价于JQuery的ajaxStart和ajaxStop的函数?或者如何在 requirejs 加载任何新的 javascript 文件时监控全局ajax 状态?

4

2 回答 2

0

不,没有这样的事情。不使用 xhr 加载模块。DOM 中注入了 JavaScript 文件,requireJS 等待脚本加载。

您可以设置一个在模块加载时调用的回调:

require(['yourmodule'], function (module) {
    alert('Module has loaded.');
}
于 2013-05-10T16:57:32.573 回答
0

好的。我通过覆盖默认的 require 函数来实现它。我正在使用coffeescript,代码如下:

_root = @
_require = @require
@requirehook = new class
  constructor: -> @count = 0
  require: =>
    @onAjaxStart?() if not @count
    @count += 1
    _require.apply _root, arguments
    @count -= 1
    @onAjaxStop?() if not @count
  ajaxStart: (fn) => @onAjaxStart = fn
  ajaxStop: (fn) => @onAjaxStop = fn

@require = @requirehook.require
于 2013-05-10T18:09:40.993 回答