8

存在しないモジュールを読み込もうとすると、404エラーで失敗します(もちろん)。このエラーを処理したいのですが、「エラー」イベントに接続する方法がわかりません。

Dojoのドキュメントによると、マイクロイベント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です。

4

2 に答える 2

5

これに関するドキュメント少し興味深いものです。xhr 要求が失敗した後、短いタイムアウト (dojoConfig.waitSeconds) の後に「エラー」イベントを発生させることができますが、非同期モードでのみ、Dojo の開発ビルドでのみ発生します

なんで?さて、非同期モードのみがイベントを発生させ、CDN ビルドは dojo-timeout-api == 0 でビルドされたようです。

独自のカスタム (SDK) バージョンの Dojo を使用できますか?

@mschr - Dojo 1.7.2 の代わりに Dojo (毎晩) を使用すると、jsfiddle サンプルが機能します - 上記と同じ理由です。

于 2012-05-05T00:02:22.477 に答える
1

デバッグセットで試してみてください

<script src="{{baseUrl}}/dojo/dojo.js" data-dojo-config="async:true, debug: true, debugAtAllCost:true"></script>

編集; そのような運はありません-ドキュメントはここでの実装よりも進んでいるようです。

おそらく解決策を見つける目的でフィドルを作成しました、コンセプトは素晴らしいです、これを自分で使用するのを楽しんでください

http://jsfiddle.net/seeds/h6bXQ/

于 2012-05-04T16:11:38.370 に答える