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ć...
Myślę że kolega nagrywa jedne z lepszych kursów na yt :)
W końcu ktoś to super wytłumaczył. Analogia do dzwonienia jest super - łatwo zrozumieć.
Dziękuję, wspaniale wyjaśnione 👍
Krótko, zwięźle i na temat ! + oczywiście praktyka ! oby tak dalej :)
Dobrze wyjaśnione, klarownie :)
super tlumaczysz i bardzo fajnie sie uczy z twoich materialow
Świetne materiały!
Dzięki!
Super wytłumaczone, dziękuję bardzo za ten filmik :)
Dziwi mnie dlaczego masz tak mało wyświetleń, oby więcej takich tutoriali
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!
Super, piona!
Dobrze tłumaczone
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
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 :(
@@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ć :)
Obok Overment jest to najlepsze co może być dla uczących się programowania na YT.
Super słyszeć, dzięki
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...
Naprawdę świetnie tłumaczysz :D Myślałeś może o stworzeniu kursu np. na udemy poświęconego programowaniu w js?
Dzięki! Kilka kursów mam tak naprawdę już od roku w planie, chociaż nie wiem czy na udemy.
@@tworcastron Adam, naprawdę świetnie tłumaczysz, super, gdybyś zrobił kurs czystego JS'a. Gtaruluję tobie kursu React'a
Fajnie wyjaśnione, czy masz jakiś filmik o obserwatorach w js ?
Nope, tego jeszcze nie ma.
6:15 ja nadal nie rozumiem dlaczego tam wylogowało undefined, to że najpierw b a potem a to jest dla mnie zrozumiałe
czy to znaczy że jak zrobię
funkcja1()
funkcja2()
to funkcja1 jest w innym wątku niż funkcja2 ?
one lecą równolegle ?
Jak zawsze super filmik! :) A mogę zapytać co to za czcionka w VS?
Chyba nawet domyślna ;) Consolas, 'Courier New', monospace
Zastanawia mnie od jakiegoś czasu, czy jest rożnica miedzy przekazaniem funkcji jako callback a zwykłym odpaleniem funkcji z potrzebnymi argumentami?
W czytelności i reużywalności. Nie zawsze ma to sens, należy dobierać do sytuacji.
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ń?
Nie. Asyn działa inaczej. Zrobiłem odcinek o asynchroniczności w JS. Tak jest to dokładnie wyjaśnione :)
Pisze się multiply nie multiplay ;)
śmieszne wyszło nazwanie zmiennych add i odd :D
i "multiplay" ;-)
a jeżeli zrobię :
function logA(){
// coś tu jest
logB()
}
logB(){
//coś
}
to różni się to czymś? finalnie efekt jest taki sam
Tak, o ile w logA jest synchroniczne, a callbacki są głównie wykorzystywane do funkcji asynchronicznych (wtedy finalnie efekt jest inny).
dobry materiał ale transformArray(arr, odd) - troszkę DZIWNIE wygląda :P
Podoba mi sie, ze dodawania nie ADD, a odejmowanie to ODD :D
Heh, szczrze mówiąc kompletnie nie pamiętam dlaczego tak to nazwałem 🤔
Const to zmienna? Bo myslalem ze stala, a var i let to zmienne.
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ć ;)
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)
const transformArr = (t, callback) => t.map(callback);
console.log(transformArr(tab, add));
Multiply boi :P
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.
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ć.
@@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.
@@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.
@@tworcastron Callback do funkcji nic nie zmieni jesli bedzie poza setTimeout, callback wykona sie bez czekania na setTimeout:
function logA(callback) {
setTimeout(() => { }, 1000)
callback()
}
@@tworcastron Jesli mamy funkcje ktore musza czekac na setTimeout, i tak musimy je wsadzic do srodka:
function any_name() {
setTimeout(() => {
func1()
func2()
etc...
}, 1000)
}
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.
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.
"multiplay" xDD spoko tłumaczysz ale błagam zwracaj uwagę na takie rzeczy bo pierwszy język programisty to angielski 🤫😅