Kodzenie z rana jak śmietana- node.js -róznica między funkcjami.

Kodzenie z rana jak śmietana- node.js -róznica między funkcjami.
bartek164
  • Rejestracja:prawie 9 lat
  • Ostatnio:ponad rok
  • Postów:534
0
Kopiuj
socket.on('untyping',function () {
  setTimeout(function () {
    feedback.innerHTML = '';
  }, 1000)
});
Kopiuj
socket.on('untyping',setTimeout(function () {feedback.innerHTML = '';}, 1000));

W pierwszy przypadku mam mój celowy efekt, czyli usunięcie feedbacku, kiedy osoba przestała pisać w czacie, ale dlaczego 2 funkcja jest inna?
Nie są sobie równe, ale dlaczego.
Przekazuje jako 2 parametr funkcje setTimeout() zamiast funkcji, która ma w sobie setTimeout()

SA
  • Rejestracja:ponad 12 lat
  • Ostatnio:około 6 godzin
  • Postów:1435
2

Raz przekazujesz funkcję (funkcja jako wartość), a raz efekt wywołania tej funkcji.

edytowany 1x, ostatnio: Saalin
Kandif
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:231
1

Polecam do korzystania z wygodniejszej formy pisania funkcji w parametrze za pomocą "()=>". Nie zmieni to tego jak działa, ale kod staje się mniejszy i ładniejszy.

Kopiuj
socket.on('untyping',()=> {
  setTimeout(()=> {
    feedback.innerHTML = '';
  }, 1000)
});

"-._,-'"-.,-'"-._,-'"-.,-'"-._,-'"-.,-'"-._,-'"-.,-'"-._,-'"-.,-'"-._,-'"-.,-'"-._,-'"-.,-'"-._,-'"-.,-'

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.