ocLazyLoadingでリソースの読み込みエラーを処理する方法を知りたいのですが。私は$stateProvider
の解決部分にいくつかのリソースをロードしようとしています。ロードできるファイルはctrl.js
です。別のファイルiam-not-there.js
がロードしようとしていますが、このリソースは存在しません。ocLazyLoadで404リソースが見つかりませんでした。
ここでは、この「読み込み中」エラー(リソースの読み込みにエラーがあり、リソースの読み込みエラーを処理/ catchするなどの処理を行っても解決の手続きを進めます)を処理したいと考えています。すべてのリソースがロード可能な場合は、正常に動作します。 1つのリソースをロードできなくなると、アプリケーションは解決状態に移行しません。この問題を再現するにはplnkr exampleです。
var myApp = angular.module("myApp", ['ui.router', 'oc.lazyLoad']);
myApp.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('login', {
url: '/',
templateUrl: 'template.html',
controller: 'LoginController',
resolve: {
deps: ['$ocLazyLoad', function($ocLazyLoad) {
return $ocLazyLoad.load({
name: "myApp",
files: [
'ctrl.js',
'iam-not-there.js'
]
});
}]
}
});
$urlRouterProvider.otherwise('/');
});
を私はあなたがエラーをキャッチする約束を使用することができると思います。これを確認してくださいhttps://github.com/ocombe/ocLazyLoad/issues/164 –
@ sachilaranawakaありがとう私はすでにこれを試してみました。リソースがロードできなかった場合、約束は実行されません。 – lin