Po co są callbacki i jak ich używać?

Поділитися
Вставка
  • Опубліковано 7 вер 2024
  • 👉 Pełny kurs "JavaScript od podstaw": bit.ly/3OtH4cS
    👉 Darmowy kurs "Wprowadzenie do JavaScript": tworcastron.pl...
    👉 Blog tworcastron.pl
    👉 Moje kursy tworcastron.pl...
    Instagram: / adam_halasa
    Facebook: / tworcastron
    "this" w JS - kiedy i na co wskazuje:
    • "this" w JS - kiedy i ...
    Różnice pomiędzy funkcjami (function declaration, function expression, arrow function):
    • Różnice pomiędzy funkc...
    Pętla for() - wstawiać let, const, var a może nic?:
    • Pętla for() - wstawiać...

КОМЕНТАРІ • 56

  • @jesiooooo
    @jesiooooo 3 роки тому +8

    Myślę że kolega nagrywa jedne z lepszych kursów na yt :)

  • @dapolcio3405
    @dapolcio3405 3 роки тому +1

    W końcu ktoś to super wytłumaczył. Analogia do dzwonienia jest super - łatwo zrozumieć.

  • @mIEch77
    @mIEch77 2 роки тому +2

    Dziękuję, wspaniale wyjaśnione 👍

  • @oskarjarnot2199
    @oskarjarnot2199 3 роки тому +3

    Krótko, zwięźle i na temat ! + oczywiście praktyka ! oby tak dalej :)

  • @CasperFactory
    @CasperFactory 4 роки тому +4

    Dobrze wyjaśnione, klarownie :)

  • @hondadmx100
    @hondadmx100 3 роки тому +1

    super tlumaczysz i bardzo fajnie sie uczy z twoich materialow

  • @dominikp8911
    @dominikp8911 4 роки тому +7

    Świetne materiały!

  • @CodingSmellsGood
    @CodingSmellsGood Рік тому +1

    Super wytłumaczone, dziękuję bardzo za ten filmik :)

  • @grudzin99
    @grudzin99 4 роки тому +2

    Dziwi mnie dlaczego masz tak mało wyświetleń, oby więcej takich tutoriali

  • @T3mai
    @T3mai 4 роки тому

    Nie koniecznie siedzę w JS'ie tak bardzo, ale przyda mi się ta wiedze w innych językach, w których programuje, bo jak wiadomo, zasady są bardzo podobne.
    Dzięki wielkie! Super przedstawione!

  • @sawomirzabocki5471
    @sawomirzabocki5471 2 роки тому +1

    Dobrze tłumaczone

  • @pron3x074
    @pron3x074 4 роки тому +1

    Jak zwykle bardzo dobrze wszystko wytłumaczone. Fajne pomysł wyjaśniania jak działa JS "pod maską". "Programuje" już któryś rok, a z każdego filmiku dowiaduje się czegoś nowego. Gdybyś miał czas to poprosiłbym o filmik dotyczący konfiguracji VS code (jakieś ciekawe wtyczki) i jak można uprzyjemnić sobie prace z node js. Pozdrawiam

    • @pron3x074
      @pron3x074 4 роки тому +1

      A może jeszcze coś o GIT (najlepiej jak w praktyce się go wykorzystuje), Wiem że bardzo ułatwia pracę. Miałem już kilka podejść jednak dalej nie zagościł u mnie na stałe :(

    • @tworcastron
      @tworcastron  4 роки тому +1

      @@pron3x074 Wezmę pod uwagę :) GITem na pewno warto się zainteresować i nawet "przymusić" i poużywać przez dłuższy czas bo później już sam nie chcesz bez gita robić :)

  • @Flowman1991
    @Flowman1991 3 роки тому +2

    Obok Overment jest to najlepsze co może być dla uczących się programowania na YT.

  • @vladeb1104
    @vladeb1104 3 роки тому +1

    Fajny byłby odcinek (pewnie seria cała) gdzie piszesz jakiś większy projekt, nawet oklepanego tetrisa i na bierząco uaktualniasz high score, dane oczywiście przechowywane na mongo db. Czyli bardzo praktyczny przykład async await, promisa i callbacka. Tak wiem...to roboty na kilka...naście godzin...ale pomysł jest :-) (...i jeszcze wiele innych)...o...i jeszcze opakować to w github. To wszystko w wybranej architekturze z podziałem na pliki...może nawet z logowaniem usera...

  • @kamilwolanski2878
    @kamilwolanski2878 3 роки тому +3

    Naprawdę świetnie tłumaczysz :D Myślałeś może o stworzeniu kursu np. na udemy poświęconego programowaniu w js?

    • @tworcastron
      @tworcastron  3 роки тому +1

      Dzięki! Kilka kursów mam tak naprawdę już od roku w planie, chociaż nie wiem czy na udemy.

    • @marypieroszkiewicz772
      @marypieroszkiewicz772 3 роки тому

      @@tworcastron Adam, naprawdę świetnie tłumaczysz, super, gdybyś zrobił kurs czystego JS'a. Gtaruluję tobie kursu React'a

  • @mksklb2003
    @mksklb2003 2 роки тому +1

    Fajnie wyjaśnione, czy masz jakiś filmik o obserwatorach w js ?

  • @2herzog
    @2herzog 2 роки тому

    6:15 ja nadal nie rozumiem dlaczego tam wylogowało undefined, to że najpierw b a potem a to jest dla mnie zrozumiałe

  • @robertgawle5269
    @robertgawle5269 Рік тому

    czy to znaczy że jak zrobię
    funkcja1()
    funkcja2()
    to funkcja1 jest w innym wątku niż funkcja2 ?
    one lecą równolegle ?

  • @wojciechantos1892
    @wojciechantos1892 4 роки тому

    Jak zawsze super filmik! :) A mogę zapytać co to za czcionka w VS?

    • @tworcastron
      @tworcastron  4 роки тому

      Chyba nawet domyślna ;) Consolas, 'Courier New', monospace

  • @xluki90x
    @xluki90x Рік тому

    Zastanawia mnie od jakiegoś czasu, czy jest rożnica miedzy przekazaniem funkcji jako callback a zwykłym odpaleniem funkcji z potrzebnymi argumentami?

    • @tworcastron
      @tworcastron  Рік тому +1

      W czytelności i reużywalności. Nie zawsze ma to sens, należy dobierać do sytuacji.

  • @klaudiuszk4110
    @klaudiuszk4110 3 роки тому

    Fajnie zobrazowałeś jak wygląda pod spodem zarządzanie stosem ale jak to wygląda w przypadku async await/Promise ? czy w tym przypadku skoro to jest czysty JS to również funkcja asynchroniczna przechodzi ze stosu do kolejki zdarzeń i oczekuje na wciągnięcie do stosu przez pętlę zdarzeń?

    • @tworcastron
      @tworcastron  3 роки тому +1

      Nie. Asyn działa inaczej. Zrobiłem odcinek o asynchroniczności w JS. Tak jest to dokładnie wyjaśnione :)

  • @kacpergumieniuk6233
    @kacpergumieniuk6233 3 роки тому +5

    Pisze się multiply nie multiplay ;)

  • @infinitezymalny
    @infinitezymalny 4 роки тому +4

    śmieszne wyszło nazwanie zmiennych add i odd :D

    • @777drink
      @777drink 4 роки тому

      i "multiplay" ;-)

  • @micha1518
    @micha1518 2 роки тому

    a jeżeli zrobię :
    function logA(){
    // coś tu jest
    logB()
    }
    logB(){
    //coś
    }
    to różni się to czymś? finalnie efekt jest taki sam

    • @tworcastron
      @tworcastron  2 роки тому

      Tak, o ile w logA jest synchroniczne, a callbacki są głównie wykorzystywane do funkcji asynchronicznych (wtedy finalnie efekt jest inny).

  • @kiciafu
    @kiciafu 3 роки тому

    dobry materiał ale transformArray(arr, odd) - troszkę DZIWNIE wygląda :P

  • @Ramzord
    @Ramzord Рік тому

    Podoba mi sie, ze dodawania nie ADD, a odejmowanie to ODD :D

    • @tworcastron
      @tworcastron  Рік тому

      Heh, szczrze mówiąc kompletnie nie pamiętam dlaczego tak to nazwałem 🤔

  • @63NT73M4N
    @63NT73M4N 2 роки тому

    Const to zmienna? Bo myslalem ze stala, a var i let to zmienne.

    • @paweem1635
      @paweem1635 2 роки тому +2

      Tak, const to zmienna, ale to taka stała zmienna (jakkolwiek to brzmi). Zadeklarowanie const zmiennej typu prymitywnego nie pozwoli już zmienić jej wartości, ale jeżeli zadeklarujemy za pomocą const obiekt albo tablicę, to ich zawartość można zmieniać - nie deklaruje się stałej wartości tylko stałą referencję. A var to generalnie od ES6 lepiej już nie używać ;)

  • @lagiewnik
    @lagiewnik 3 роки тому

    a czemu nie działa to? tablica tab nie zmienia wartości po wywołaniu funkcji transformArm:
    const tab = [7, 5, 0, 87]
    const add = el => el + 3
    const odd = el => 14 - el
    const transformArr = ( t, callback) => {
    t.map(callback)
    console.log(t)
    }
    transformArr(tab, add)
    console.log(tab)

    • @szojtek
      @szojtek Рік тому

      const transformArr = (t, callback) => t.map(callback);
      console.log(transformArr(tab, add));

  • @piotrzajas9014
    @piotrzajas9014 9 місяців тому

    Multiply boi :P

  • @inzynierbieda756
    @inzynierbieda756 3 роки тому

    Szanuje za przystepnie przedstawiony material ale nadal nie rozumiem po co caly ten callback i asynchronicznosc, kiedy dziala to tylko po wsadzeniu odwolan do wnetrza setTimeout? Mam wrazenie ze cala reszta tylko niepotrzebnie zaciemnia sens.

    • @tworcastron
      @tworcastron  3 роки тому

      Asynchroniczności w JS jest cała masa (czytanie plików, timeouty, jakichkolwiek requesty, operacje kryptograficzne, operacje z bazą danych, itd.), a callback to umożliwia. Gdyby te rzeczy działy się synchronicznie to przeglądarka co chwilę by się zawieszała/zamarzała, nie dałoby się jej normalnie używać.

    • @inzynierbieda756
      @inzynierbieda756 3 роки тому

      @@tworcastron Chodzilo mi raczej o to ze asynchronicznosc zachodzi wylacznie we wnetrzu setTimeout i jezeli dodac callback do funkcji logA() ale umiescic go poza setTimeout to zadziala synchronicznie jak cala reszta kodu.

    • @tworcastron
      @tworcastron  3 роки тому

      @@inzynierbieda756 No nie. Jeżeli callback będzie poza setTimeout to wykona się asynchronicznie. Pierwsze uruchomi się callback a później wnętrze setTimeout (nieważna jest kolejnośc w kodzie). Ten timeout jest przykładem dowolnej operacji asynchronicznej (np. request do API). Bez callbacka niemożliwe byłby zrobienie czegokolwiek na danych, które pojawią się dopiero po 1 sekundzie.

    • @inzynierbieda756
      @inzynierbieda756 3 роки тому

      @@tworcastron Callback do funkcji nic nie zmieni jesli bedzie poza setTimeout, callback wykona sie bez czekania na setTimeout:
      function logA(callback) {
      setTimeout(() => { }, 1000)
      callback()
      }

    • @inzynierbieda756
      @inzynierbieda756 3 роки тому

      @@tworcastron Jesli mamy funkcje ktore musza czekac na setTimeout, i tak musimy je wsadzic do srodka:
      function any_name() {
      setTimeout(() => {
      func1()
      func2()
      etc...
      }, 1000)
      }

  • @MobiAdiGar
    @MobiAdiGar 3 роки тому

    6 minuta 12 sekunda - wprowadzasz ludzi w błąd. Słowo "return" jest dla zakresu funkcji anonimowej, która siedzi jako parametr w "setTimeout". Dlatego dostajesz "undefined" z funkcji "logA", ponieważ ona nic nie zwraca. Nie jest pewien czy sam rozumiem JavaScript, a co dopiero abyś tłumaczył to innym.

    • @tworcastron
      @tworcastron  3 роки тому

      To nie jest wprowadzanie w błąd. To jest celowe uproszczenie. Mółbym dodać return przez setTimeout, albo zmienić tekst, ale co by to zmieniło? Zamist undefined byłby Promise i tyle. Nie widzę potrzeby komplikowania kodu czy dodawania zagadnień nie związanych z tematem. Promisy są dosyć dokładnie wyjaśnione w innych odcinkach.

  • @walek00001
    @walek00001 10 місяців тому

    "multiplay" xDD spoko tłumaczysz ale błagam zwracaj uwagę na takie rzeczy bo pierwszy język programisty to angielski 🤫😅