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

āđāļŠāļĢāđŒ
āļāļąāļ‡
  • āđ€āļœāļĒāđāļžāļĢāđˆāđ€āļĄāļ·āđˆāļ­ 12 āļ.āļĒ. 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ć.

  • @oskarjarnot2199
    @oskarjarnot2199 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +3

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

  • @mIEch77
    @mIEch77 2 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +2

    Dziękuję, wspaniale wyjaśnione 👍

  • @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!

    • @tworcastron
      @tworcastron  4 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +3

      Dzięki!

  • @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

  • @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...

  • @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!

    • @tworcastron
      @tworcastron  4 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

      Super, piona!

  • @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ć :)

  • @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

  • @Flowman1991
    @Flowman1991 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +2

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

    • @tworcastron
      @tworcastron  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      Super słyszeć, dzięki

  • @kacpergumieniuk6233
    @kacpergumieniuk6233 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +5

    Pisze się multiply nie multiplay ;)

  • @mksklb2003
    @mksklb2003 2 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

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

    • @tworcastron
      @tworcastron  2 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      Nope, tego jeszcze nie ma.

  • @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

  • @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.

  • @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

  • @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 :)

  • @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).

  • @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ć ;)

  • @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 ðŸĪ”

  • @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));

  • @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)
      }

  • @piotrzajas9014
    @piotrzajas9014 10 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Multiply boi :P

  • @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 ðŸĪŦðŸ˜