2015-12-31 4 views
2

Мой сценарий:AngularJS: как я могу вызвать функцию через определенный интервал времени?

Я хочу вызвать функцию выхода из системы после того, как я скажу 30 минут автоматически в своем приложении. Возможно ли это добиться? И более того, я хочу узнать время последней интерактивности пользователя с моим приложением. Может ли кто-нибудь помочь мне в этом?

+2

Да, вы можете: https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout –

+2

[нг-простаивает] (http://ngmodules.org/modules/ ng-idle) может помочь – Grundy

+1

использовать setInterval - лучшая идея. Надеюсь, что –

ответ

1

использование SetTimeout() Чистый JavaScript функция, которая может быть вызвана по истечении времени интервала

setTimeout(function(){ 
    logout(); 
},5000) 
+0

Этот звонок функция один раз или повторить вызов после 5000 миллисекунд? –

+2

В случае, если ваш 'logout()' что-то изменит в области видимости, это не сработает. Вы должны завернуть вызов logout в '$ scope.apply()' или использовать '$ timeout', который делает это неявно – Arkantos

+0

@Arkanto s. Большое спасибо за ваш ответ. Сэр, я получаю эту ошибку сейчас 'Ошибка: [$ rootScope: inprog] http: //errors.angularjs.org/undefined/$rootScope/inprog? P0 =% 24digest' можете ли вы, пожалуйста, помочь мне превратить это '$ rootscope.synchronization()' функционирует в сервисе или на заводе-изготовителе в этом [Fiddle] (http://plnkr.co/edit/SZ9NvTo0TE6MBo4oRRSj?p=preview) .. :( –

7

Использование ниже для любой функции, которая требует тайм-аут. Но я не буду предлагать это для выхода. Лучше вы можете использовать сеанс браузера для выхода из системы через 30 минут.

$timeout(function() { 
    // your code 
}, 3000); // 3 seconds 
+0

сеанс браузера? можете ли вы подробнее рассказать, как использовать его в угловых .. –

+0

Спасибо за ваш ответ Сэр, я получаю эту ошибку сейчас 'Ошибка: [$ rootScope: inprog] http://errors.angularjs.org/undefined/$rootScope/inprog?p0= % 24digest' можете ли вы мне помочь превратить мою функцию '$ rootscope.synchronization()' в сервисную или заводскую организацию в этом [Fiddle] (http://plnkr.co/edit/SZ9NvTo0TE6MBo4oRRSj?p=preview) .. :( –

Смежные вопросы