Отговори на тема  [ 5 мнения ] 
това дали е рекурсия ? 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 8:04 pm
Мнения: 2663
Местоположение: София / Велико Търново
Мнение това дали е рекурсия ?
това е Node.js т.е. javaScript:
Код:

var myTimeout;

function SendCommand() {
    globals.commandIF = true;
    myTimeout = setTimeout(SendCommand, 1000);
    globals.connSocket.write(globals.commandString);
}




Имам и едно място откъдето мога да извикам clearTimeout(myTimeout); при което ефектът е какъвто ми трябва.
По същество това нещо праща едни данни през 1 сек. докато не получи потвърждение, че са получени от отсрещната страна. Изглежда, че работи, но възможно ли е да се получава рекурсия, и след голям брой повторения да се получи stack overflow ? Функцията SendCommand() не я викам вътре, просто я задавам като callback, ама все пак ?

_________________
https://github.com/slav4ocom/


Пет Апр 01, 2022 12:31 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение Re: това дали е рекурсия ?
setTimeout( .. ) не вика SendCommand() а cамо сетва
timer_callback = SendCommand .... и стартира таймера
който ще свърши след секунда демек чак тогава обработчика на таймера ще викне колбака
но е валидно ако таймера е оне-шот
ако е репиит може да стане мазало ... по принцип

_________________
main[-1u]={1};


Последна промяна TheWizard на Пет Апр 01, 2022 12:43 am, променена общо 3 пъти



Пет Апр 01, 2022 12:38 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение Re: това дали е рекурсия ?
не е

пускаш таймера на 1с за следващия период
пращащ данни и излизаш

_________________
путинофили: "иди н***й"


Пет Апр 01, 2022 12:39 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 8:04 pm
Мнения: 2663
Местоположение: София / Велико Търново
Мнение Re: това дали е рекурсия ?
Благодаря за бързите отговори. Ами и аз така мислех, ама като в онзи виц на Шкумбата: "исках да ми го каже специалист" :)
TheWizard написа:
но е валидно ако таймера е оне-шот
ако е репиит може да стане мазало ... по принцип


ами то е one-shot. То не е със setInterval. Ама ако не се получи потвърждение се зарежда следващият патрон, за друг единичен изстрел.

_________________
https://github.com/slav4ocom/


Пет Апр 01, 2022 12:46 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение Re: това дали е рекурсия ?
Определението за рекурсия е следното: "Рекурсия - виж рекурсия!"


Пон Апр 04, 2022 4:51 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 5 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни