Il mio ex capo aveva un weird bug where when he used setInterval
with a long delay interval:Qual è la differenza tra setInterval (func) e setInterval (function() {func()})
setInterval(func, 3000000 /*50 minutes*/);
Node.js si è schiantato.
func
può essere anche una semplice funzione che è semplicemente console.log('something')
.
Qualcuno gli ha suggerito di avvolgere una funzione anonima intorno a func
e in realtà ha risolto il problema.
Per quanto ne so, non dovrebbe fare la differenza e anche considerato una cattiva pratica almeno nel javascript dei browser.
C'è una differenza di Node.js tra
setInterval(func, delay)
setInterval(function(){func()}, delay)
o è un bug in Node.js?
UPDATE:
Non vedo perché sarebbe considerata una cattiva pratica avere una funzione anonima invece di un nome di funzione ... Curioso cosa hanno da dire gli altri. Prenderò in considerazione che i due esempi hanno lo stesso risultato – mplungjan
@mplungjan, naturalmente è una cattiva pratica in JavaScript generico, è una funzione senza motivo e in genere è un'indicazione di qualcuno che non capisce veramente le funzioni di prima classe in JS. –
Mi chiedo che 'func' non debba essere raccolto qui perché il riferimento in' setInterval' in qualche modo non conta ... Molto buona domanda. – raina77ow