Я определил переменную для функции setTimeout, чтобы позже ее очистить. Эта часть работает. У меня возникают проблемы с вызовом функции setTimeout из переменной, и я думаю, что я не понимаю синтаксис.Вызов функции setTimeout из переменной
var idOne = setTimeout(function() {
//do stuff here
custom(); //callback
}, 2000);
function custom() {
//do stuff here
idOne;
}
custom();
idOne;
В частности, часть я чувствую, что должно быть не так. JsHint говорит, что ничего не делает. Я не могу понять синтаксис.
EDIT
Понял! Вот окончательный код!
var idOne;
var timeoutOne = function(){
idOne = setTimeout(function(){
//stuff
custom();
}, 2000);
}
function custom() {
//do stuff
timeoutOne();
}
, а затем, когда я хочу, чтобы очистить его, я использую:
clearTimeout(idOne);
Что именно вы пытаетесь сделать? переменная 'idOne' будет просто значением int, которое является ссылкой на таймер, который вы сохранили. Кроме того, 'do' является зарезервированным ключевым словом: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Reserved_keywords_as_of_ECMAScript_6 –
' do' - это ключевое слово. Это не должно работать вообще. При этом возвращение 'setTimeout' просто используется для использования clearTimeout, если вы решите, что не хотите запускать функцию в конце концов. – Zeta
Я хочу, чтобы setTimeout был связан с переменной, поэтому я могу clearTimeout (переменная). Я хочу запустить этот setTimeout из переменной в функции. Я новичок в этом. не понимал, что это было использовано. Я изменю его. –