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

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2593
Местоположение: Велико Търново / София
Мнение това дали е рекурсия ?
това е 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/


Чет Мар 31, 2022 11:31 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

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

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


Последна промяна TheWizard на Чет Мар 31, 2022 11:43 pm, променена общо 3 пъти



Чет Мар 31, 2022 11:38 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

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

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

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


Чет Мар 31, 2022 11:39 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

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


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

_________________
https://github.com/slav4ocom/


Чет Мар 31, 2022 11:46 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

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


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

Кой е на линия

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


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

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