Страница 1 из 2

Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 10:19 am
Virtual__
Народ подскажите как сделать запуск метода по таймеру из метода

Создаю новый класс, в нем метод, в котором по некоторым условиям должен запуститься таймер который повторно вызовет этот же метод.
и что-то вызов метода не срабатывает. Делаю так:
SetTimeOut('tst_timer', 'callMethod("SetOpenTime");', 5); и нечего не происходит.
SetTimeOut('tst_timer', '$this->callMethod("SetOpenTime");', 5); так тож не работает

Если вместо метода вызываю скрипт то скрипт запускается
SetTimeOut("title",'runScript("SendPkt");', 5);

что я делаю не так?

А нужно мне все это для повторной установки свойств, в случае не прихода подтверждения ...

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 10:32 am
SmoKE_xDDD
Virtual__ писал(а): Ср фев 24, 2021 10:19 am Народ подскажите как сделать запуск метода по таймеру из метода

Создаю новый класс, в нем метод, в котором по некоторым условиям должен запуститься таймер который повторно вызовет этот же метод.
и что-то вызов метода не срабатывает. Делаю так:
SetTimeOut('tst_timer', 'callMethod("SetOpenTime");', 5); и нечего не происходит.
SetTimeOut('tst_timer', '$this->callMethod("SetOpenTime");', 5); так тож не работает

Если вместо метода вызываю скрипт то скрипт запускается
SetTimeOut("title",'runScript("SendPkt");', 5);

что я делаю не так?

А нужно мне все это для повторной установки свойств, в случае не прихода подтверждения ...
Имя метода указывается как Объект.Метод

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 10:42 am
Virtual__
Дык я же создаю обработчик метода в классе, я не могу указать объект. Объектов потом несколько будет.

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 10:47 am
Chainik
Попробуйте в 2 строки:

Код: Выделить всё

$ot = $this->object_title;
SetTimeOut('tst_timer', 'callMethod($ot.".SetOpenTime");', 5);

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 10:56 am
Virtual__
Chainik писал(а): Ср фев 24, 2021 10:47 am Попробуйте в 2 строки:

Код: Выделить всё

$ot = $this->object_title;
SetTimeOut('tst_timer', 'callMethod($ot.".SetOpenTime");', 5);
Нет не работает :( А в этом выражении $ot.".SetOpenTime" случайно одна точка не лишняя?

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 11:03 am
Chainik
Точка не лишняя. Вообще, должно работать.
У вас часом имя таймера 'tst_timer' еще где-нибудь не используется?
Ну можно вид кавычек поменять (так, на всякий случай).

Код: Выделить всё

$ot = $this->object_title;
SetTimeOut("tst_timer", "callMethod($ot.'.SetOpenTime');", 5);

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 11:16 am
Virtual__
Chainik писал(а): Ср фев 24, 2021 11:03 am Точка не лишняя. Вообще, должно работать.
У вас часом имя таймера 'tst_timer' еще где-нибудь не используется?
Ну можно вид кавычек поменять (так, на всякий случай).

Код: Выделить всё

$ot = $this->object_title;
SetTimeOut("tst_timer", "callMethod($ot.'.SetOpenTime');", 5);
Имя пробовал менять не помогает, да и кавычки то-же разные пробовал - не работает :( Главное не понятно куда копать :(

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 11:19 am
Chainik
Вот так попробуйте запустить. Посмотрите, что в лог Алисы пишет.

Код: Выделить всё

$ot = $this->object_title;
say("будет запущен таймер_".time());
SetTimeOut("tst_timer", "say('запущен таймер_'.time()); callMethod($ot.'.SetOpenTime');", 5);

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 11:32 am
Virtual__
Chainik писал(а): Ср фев 24, 2021 11:19 am Вот так попробуйте запустить. Посмотрите, что в лог Алисы пишет.

Код: Выделить всё

$ot = $this->object_title;
say("будет запущен таймер_".time());
SetTimeOut("tst_timer", "say('запущен таймер_'.time()); callMethod($ot.'.SetOpenTime');", 5);
Сообщение о том что будет запущен появляется, а о том что запущен не появляется.
А если вызов метода выкусить, то сообщение о том что запущен появляется ... Вобщем вызов метода похоже не дает запуститься таймеру.

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 11:39 am
SmoKE_xDDD
Охххх.....

Код: Выделить всё

SetTimeOut("tst_timer", "callMethod($this->object_title.'.SetOpenTime');", 5);

В иксрее появляется таймер?