Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 07.03.2018
Сообщений: 17

ClearTimeout

06.04.2018, 09:57. Показов 1312. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Нужно что-то придумать...

JavaScript
1
2
3
4
5
6
7
8
9
function first () {
  var timeout = setTimeout(function () {
    //code
  }, 1000)
}
 
function second () {
  clearTimeout(timeout);
}
Вторая, конечно же, не видит timeout...
Что делать?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.04.2018, 09:57
Ответы с готовыми решениями:

Не работает clearTimeout
Суть вот в чем: есть элемент, с ним можно совершать разные действия: 1. Клик, в этом случае переход на другую страницу 2. Двойной клик,...

SetTimeout, clearTimeout - асинхронность, однопоточность
Как это работает? почему, запуская множество setTimeout, внутри setInterval, фиксируя остановку SetTimeout с помощью if, а setInterval...

Из-за чего может зависнуть вызов функции clearTimeout?
Добрый день. Возникла проблема с кодом, а точнее в одной из функции у меня вызывается clearTimeout, а дальше функция как бы зависает -...

5
39 / 38 / 26
Регистрация: 05.01.2018
Сообщений: 283
06.04.2018, 10:17
Wanderer_K, вынести на глобальный уровень переменную timeout.
0
0 / 0 / 1
Регистрация: 07.03.2018
Сообщений: 17
06.04.2018, 10:23  [ТС]
И как будет выглядеть первая функция?

Добавлено через 33 секунды
Aleksandrw, И как будет выглядеть первая функция?
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
06.04.2018, 10:26
JavaScript
1
2
3
4
5
6
7
8
9
10
11
var timeout;
 
function first () {
  timeout = setTimeout(function () {
    //code
  }, 1000)
}
 
function second () {
  clearTimeout(timeout);
}
1
39 / 38 / 26
Регистрация: 05.01.2018
Сообщений: 283
06.04.2018, 10:29
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

Wanderer_K,
JavaScript
1
2
3
4
5
6
7
8
9
10
var timeout;
function first () {
  timeout = setTimeout(function () {
    //code
  }, 1000)
}
 
function second () {
  clearTimeout(timeout);
}
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
09.04.2018, 01:48
Чище, вестимо, будет так:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
const [first, second] = (() => {
   let timeout = null;
   const first = () => {
      timeout = setTimeout(function ( ) { /* code */ }, 1000);
   }
 
   const second = () => {
      if (timeout !== null) clearTimeout(timeout);
   }
 
   return [first, second];
})();
Тем не менее, несколько вызовов first() ломают код, давая отменить только последний timeout;
Если необходимо отменять по очереди, начиная с последнего, поставленного на выполнение, то:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const [first, second] = (() => {
   let timeout = [];
   const first = callback => {
      timeout = [...timeout, setTimeout(callback, 1000)];
   }
 
   const second = () => {
      if (timeout.length !== 0) {
         let current = timeout.pop();
         clearTimeout(current);
      }
   }
 
   return [first, second];
})();[
JavaScript
1
2
first(() => console.log(`yay`)); first(() => console.log(`hey!`)); second(); // выведет `yay`
first(() => console.log(`yay`)); first(() => console.log(`hey`)); second(); second(); // не выведет ничего
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.04.2018, 01:48
Помогаю со студенческими работами здесь

Проблема с clearTimeout в расширении chrome
Друзья, помогите разобраться с синхронизацией в js. Пишу расширение для chrome, оно состоит из двух скриптов background.js и content.js (он...

Не работает clearTimeout
При быстром нажатии ( $('#basket a.top').click( function()) на левую кнопку мыши увеличивается значение в input. По идее, должно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru