ユーザーが長い時間サーバーにリクエストを送信しなかった後、ログアウトアプリケーションを処理する機能があります(以下のコードではCommonConfig.TIME_OUT_TO_LOGOUT
です)。私は変数としてlogOutInterval
を格納するために$ rootScopeを使用します。しかし、もし私が正しい方法として$ rootScopeを使用していれば、それは不思議です。
handleSuccess
は、リクエスト$ http成功を処理する関数です。
私の悪い英語のために申し訳ありません。
function handleSuccess(response) {
$anchorScroll(); // scroll to top after load API completed
if ($rootScope.logOutInterval) {
console.log("Reupdate count down to logout");
$timeout.cancel($rootScope.logOutInterval);
$rootScope.logOutInterval = undefined;
}
console.log("Start count down to logout at " + new Date());
$rootScope.logOutInterval = $timeout(function() {
console.log("Start logout at " + new Date());
$http({
method: 'get',
headers: defaultHeader(),
url: envConfig.API_HOST + CommonConfig.URI.LOG_OUT
}).then(function() {
toastr.error("Token has expired");
PageService.logOutAction();
});
}, CommonConfig.TIME_OUT_TO_LOGOUT);
return $q.resolve(response);
}
私はあなたが言っていることを得ていますが、それでもあなたが直面している問題は何ですか? – Jigar7521
ご意見ありがとうございます。私はAngularJS初心者だから、$ rootScopeを正しい方法(この状況の場合)として使う方法はわかりません。上記の例では、間違った行為や悪い行為はありますか? $ rootScopeを使わずにこれを行うには他の方法がありますか? もう一度ありがとうございました:) –
[$ rootScopeでデータを保存する](http://stackoverflow.com/questions/38651880/storing-data-in-rootscope) – georgeawg