2016-05-18 4 views
0

サービス上で関数を呼び出すときにタイムアウトを追加しようとしています。この関数は、タスクをキューに追加するプロセスを実行します。

すべてのプロセスは、$ state.go関数でも正常に動作していますが、ルートが参照するビューが早すぎます。プロセスを開始する前にビューに到達しているため、実行中のプロセスの結果を見ることができません。

私はタイムアウトを追加することを考えていたが、動作していない(または私はそれが間違っていた場合、私は知らない)

function CreateMigrationCtrl(MigrationService, $state, $timeout) { 

... 

$timeout($state.go('app.migration'), 3000); 
} 

それは、それを使用するための正しい方法ということですか?

タイムアウトを使用して$ state.goの実行を遅延させることはできますか?

答えて

0

function$timeoutにする必要があります。あなたのコード$ state.goで

$timeout(function() { 
    $state.go('app.migration'); 
}, 3000); 
+0

ジョンさん、ありがとうございました。これが私の問題を解決しました。 –

2

すぐに起動され、あなたがタイムアウトに結果を渡している、言い換えれば、あなたのコードは

あなたがあるべき機能への参照を渡す必要が代わりに
var result = $state.go('app.migration'); 
$timeout(result, 3000); 

のように見えます指定された時間後に呼び出さ

$timeout(function() { 
    $state.go('app.migration'); 
}, 3000); 

または

$timeout($state.go.bind(null, 'app.migration'), 3000); 
+0

ありがとうアドリアン、これは参考になりました –

関連する問題