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: dni
  • Ostatnio: dni
  • 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: dni
  • Ostatnio: dni
  • Postów: 1452
2

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

Kandif
  • Rejestracja: dni
  • Ostatnio: dni
  • 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.