当我尝试加载不存在的模块时,它失败并出现404错误(当然)。我想处理此错误,但不知道如何连接到“错误”事件。
根据Dojo文档,我应该能够使用its micro event api。
此代码不起作用。
var handle = require.on('error', function( error )
{
alert('Finally error')
});
require(['nonexistent/module'], function ( m )
{
alert('Module was loaded correctly')
});
Dojo版本是1.7.1,浏览器最新Chrome。
答案 0 :(得分:5)
关于这个的文档有点好奇。我可以在失败的xhr需要之后的短暂超时(dojoConfig.waitSeconds)之后触发'error'事件,但仅在异步模式下,并且只有dev的构建Dojo。
为什么呢?好吧,只有异步模式才会引发事件,看起来CDN构建是用dojo-timeout-api == 0构建的。
您可以使用自己的自定义(SDK)版本的Dojo吗?
@mschr - 如果您使用Dojo(每晚)而不是Dojo 1.7.2,您的jsfiddle示例将起作用 - 与上述原因相同。
答案 1 :(得分:1)
尝试使用调试集
<script src="{{baseUrl}}/dojo/dojo.js" data-dojo-config="async:true, debug: true, debugAtAllCost:true"></script>
编辑;没有这样的运气 - 似乎文档在这里实现了......
为了找到一个解决方案而创造了一个小提琴,概念很好,很乐意自己使用