问题描述
当我尝试加载不存在的模块时,它会失败,404错误(当然)。我想要处理这个错误,但不知道如何连接到错误事件。
根据Dojo文档,我应该可以使用。
这个代码不起作用。
var handle = require.on('error',function(error)
{
alert('Finally error')
});
require(['notxistent / module'],function(m)
{
alert('Module was loaded正确')
});
Dojo版本是1.7.1,浏览器最新的Chrome。
有关这个文件的文档有点好奇。在错误的xhr需要之后,只能在异步模式下,只有使用Dojo的dev版本,才能在短暂超时(dojoConfig.waitSeconds)之后触发error事件。
>为什么?那么只有异步模式引发了这个事件,看起来CDN的构建是用dojo-timeout-api == 0构建的。
你可以使用自己的定制SDK)版本的Dojo?
@mschr - 如果您使用Dojo(夜间)而不是Dojo 1.7.2,您的jsfiddle示例可以工作 - 与上述相同的原因。 >
When I try to load nonexistent module, it fail with 404 error (of course). I want to handle this error but don't know how to connect to "error" event.
According to Dojo doc, I should be able to do that using its micro event api.
This code does not work.
var handle = require.on('error', function( error )
{
alert('Finally error')
});
require(['nonexistent/module'], function ( m )
{
alert('Module was loaded correctly')
});
Dojo version is 1.7.1, browser latest Chrome.
The documentation on this one is a bit curious. I can get the 'error' event to fire after a short timeout (dojoConfig.waitSeconds) after a failed xhr require, but only in async mode, and only with a dev build of Dojo.
Why? Well, only async mode raises the event, and it looks like the CDN build was built with dojo-timeout-api == 0.
Can you use your own custom (SDK) version of Dojo?
@mschr - your jsfiddle sample works if you use Dojo (nightly) instead of Dojo 1.7.2 - same reason as above.
这篇关于Dojo需要连接错误,当模块加载失败时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!