#4 Callback functions - Khi Cần Thì Gọi Lại | JavaScript Nâng Cao Cho Beginners Từ A Đến Z

Callback, dịch ra tiếng việt có nghĩa là 'gọi lại', là cách chúng ta thực thư một function, bên trong một functions. Trong video này, chúng ta sẽ cùng nhau tìm hiểu về cách sử dụng callback với javascript.
Chi tiết và cụ thể, các bạn cùng theo dõi video này nhé ❤
-----
🌹Bạn nào muốn donate hay mua cho mình cốc cà phê, cái pizza hay chỉ là gói mì tôm hảo hảo, tiếp thêm động lực cho mình làm nhiều video chất lượng, thì các bạn có thể liên hệ qua:
🤝Dùng MoMo quét mã QR tại link này nhé: nhantien.momo.vn/hoidanit (lưu ý: tên người nhận là PHAM VAN TUAN)
😁Mình có 1 channel khác (Tiếng Anh, tên là haryphamdev), nên là có 2 Fanpage Facebook: Link channel Tiếng Anh: / @askitwitheric
1. Facebook Fanpage (Tiếng việt): / askitwitheric
2. Facebook Fanpage (Tiếng anh): / haryphamdev
-----
🚀 Khóa học Free FullStack SERN (SQL, Express, React, Node.js): • Bài N5: Demo Sản Phẩm ...
👀 Khóa Học React Hook Function Component Từ A đến Z cho Beginners: • #0 GIỚI THIỆU KHÓA HỌC...
👀 Khóa Học React Class Component Từ A đến Z cho Beginners: • #0 GIỚI THIỆU KHÓA HỌC...
👀 Khóa Học Javascript Siêu Cơ Bản Từ A đến Z cho Beginners: • #1 Tại Sao Bạn Nên Chọ...
🎁 Tài liệu tham khảo sử dụng trong video:
👉 Nội dung khóa học: docs.google.com/document/d/1_...
👉 Xem full khóa học này tại đây : • #1 What's Async Javasc...
----------------------------------- IMPORTANT ----------------------------
🚀 Learn by doing : Hiện tại, mình đang làm 1 series miễn phí, học và thực hành để trở thành 1 fullstack web developer từ A đến Z. Và để thực hiện được mục tiêu này, khóa học này chính là thứ rất cần thiết dành cho các bạn beginners - JavaScript Nâng Cao - Những kiến thức cần biết để sử dụng thành thạo Javascript "hiện đại" ngày nay.
1️⃣ Các bạn nhận được gì khi kết thúc khóa học?
✔ Các bạn hiểu được Javascript có thể làm những gì, những keywords cần biết như là async, await, Promise..., chúng ta sẽ chú trọng vào những kiến thức cơ bản nhưng cốt lõi nhất.
Phương châm của mình luôn là "chỉ nên học những cái mà các công ty cần", không nên học tràn lan, tỏ ra ta đây cái gì cũng biết, cơ mà bản chất lại không biết (hiểu) gì.
Các bạn nên nhớ rằng, đối với những người mới bắt đầu, nên đi chậm nhưng mà chắc, không cần code siêu, chỉ cần biết cách 'google search' là được.
2️⃣ Nội dung khóa học ?
✔Mình dự định sẽ làm 1 series hướng dẫn full từ A đến Z những kiến thức căn bản(cốt lõi) của Javascript cho những bạn chưa biết gì, những người mới bắt đầu dấn thân vào học và thành thạo Javascript
✔Khóa này chính là bước đệm để các bạn có thể chuẩn bị một công cụ cũng như kiến thức cần thiết, từ đó có thể làm những cái to tát hơn, như làm game, app và website thực tế.
3️⃣ Công nghệ sử dụng ?
✔ HTML, CSS và Javascript.
4️⃣ Lịch trình ra video ?
Hiện tại, mình đang đi làm fulltime, vì vậy không thể dành 100% thời gian làm video khóa học này được. Tuy nhiên, mình luôn cố gắng để làm video đều đặn và thường xuyên, vì mình nhận được rất nhiều tin nhắn cũng như comment của các bạn, mong muốn được học khóa học này ❤
👉 Tối thiểu là 1 tuần sẽ có 2 video về khóa học, còn đôi khi mình có nhiều thời gian rảnh thì 1 tuần 7 cái luôn 😁
👉Các bạn muốn video ra nhanh thì đừng quên Đăng Ký Kênh, Like, Share và Comment bên dưới video để mình có thêm động lực làm video nha. Cảm ơn các bạn nhiều 💕💕💕
👉 Đây là video thứ tự #4 trong khóa học này
----------------------------------- IMPORTANT ----------------------------
🧠 Nội dung video:
0:00 Giới thiệu
1:30 Callback là gì
7:20 Khi nào dùng Callback
8:50 Tạo callback
13:00 Callback với tham số
17:30 Bất đồng bộ cùng callback
🌎 Tìm mình tại đây:
1. Facebook Fanpage (Tiếng việt): / askitwitheric
2. Facebook Fanpage (Tiếng anh): / haryphamdev
3. Group trao đổi học tập Facebook: / hoidanit
4. Github: github.com/haryphamdev
5. KZread channel: / @hoidanit
6. Email: haryphamdev@gmail.com
ĐỪNG QUÊN NHẤN CHUÔNG 🔔 ĐỂ NHẬN CẬP NHẬT VIDEO MỚI NHẤT CŨNG NHƯ ► ĐĂNG KÝ KÊNH! ► bit.ly/31P4KhK
#KhoaHocJavaScriptNangCao #JavaScript #HoiDanIT

Пікірлер: 43

  • @hoidanit
    @hoidanit2 жыл бұрын

    🌹Bạn nào muốn mua cho mình cốc cà phê, cái pizza hay chỉ là gói mì tôm hảo hảo, hãy dùng MoMo quét mã QR tại link này nhé: nhantien.momo.vn/hoidanit (lưu ý: tên người nhận là PHAM VAN TUAN) Đây là video #4 trong series học và thực hành để nắm vững Javascript NÂNG CAO. 👉Xem Full Playlist này tại đây:kzread.info/dash/bejne/e59_prWMj5nXqZc.html 👉 Cần giải đáp thắc mắc, cũng như hỗ trợ, tham gia group Facebook : facebook.com/groups/hoidanit 👉Các bạn đăng ký kênh, Like cũng như comment để mình có thêm động lực làm video nha. Cảm ơn mọi người ❤ 👉Chanel khác của mình (Tiếng anh): kzread.info/dron/HqJxLo7mKam9GKqqwr2wfA.html

  • @taitrinh62_

    @taitrinh62_

    2 жыл бұрын

    *_Anh dạy hay quá anh ạ ^^ cảm ơn anh nhiều ạ_*

  • @tvtchanel9845
    @tvtchanel98452 жыл бұрын

    Cảm ơn anh siêu hay luôn

  • @hoidanit

    @hoidanit

    2 жыл бұрын

    cảm ơn e.hehe

  • @thanhatnguyen8
    @thanhatnguyen82 жыл бұрын

    a minh họa dễ hiểu lắm, cảm ơn a

  • @hoidanit

    @hoidanit

    2 жыл бұрын

    cảm ơn em.hehe

  • @nelsonhoang5115
    @nelsonhoang5115 Жыл бұрын

    chưa biết làm thực tế ntn nhưng nghe giảng rất dễ hiểu, thanks Erik

  • @hoidanit

    @hoidanit

    Жыл бұрын

    cảm ơn bạn đã ủng hộ

  • @khoatrantv1253
    @khoatrantv1253 Жыл бұрын

    cái này e hiểu mà anh dung http request e thì học bên fetch nên cũng có chút chưa hiểu về http luồng chạy e thây cả 2 thắng đều giống nhau. theo a nên dùng thằng nào chạy ngon hơn

  • 2 жыл бұрын

    Nhận xét: Giảng nhiều nói nhiều code chạy nhiều nhưng cuối cùng bải giảng được lại gì? Một bài giản chất lượng tốt cần ít nhất những thứ như sau: 1. Tại sao họ lại dùng? 2. Ví dụ càng dễ càng tốt? 3. Sau cùng bạn học được gì nhớ được những gì? ==> Sau khi xem video này có thể chúng ta chỉ nhớ mấy từ callback, callback, ..., callback. Cảm ơn bài giảng.

  • @hoidanit

    @hoidanit

    2 жыл бұрын

    với thị trường youtube thì: 1. nó là free 2. việc học hay không, thấy phù hợp hay ko thì nó phụ thuộc vào bản thân mỗi người 3. phong cách của mình nó khác với người khác. bạn nào xem video đủ lâu, đủ nhiều sẽ thấy là mình ko thích code 4. mình phá vỡ mọi quy tắc. code chỉ là đống shit. ko biết thì google. mình chẳng là thầy của ai cả. mình chỉ là chia sẻ những cái mình biết. 5. bạn muốn có giáo án, muốn ví dụ cụ thể., muốn ABCXYZ... thì trả tiền cho dịch vụ. dịch vụ ở đây là trường học, trung tâm, khóa học online...

  • @taitrinh62_

    @taitrinh62_

    2 жыл бұрын

    @@hoidanit *_em thấy anh dạy như vậy là quá hay rồi anh ạ ^^ người ta ko thấy hay vì họ không hợp thôi, đầy cái mất đống tiền còn không được bằng video anh dạy_*

  • 2 жыл бұрын

    Uhm, mình thì hiểu nhưng nhiều người sẽ thấy rối. Chia sẻ đã rất là tuyệt vời rồi 👏

  • @baotrinh3716
    @baotrinh37162 жыл бұрын

    em thấy Anh giảng rất chi tiết về Callback, có demo minh họa đầy đủ, nhưng em vẫn ko hiểu :))

  • @hoidanit

    @hoidanit

    2 жыл бұрын

    chẳng sao cả. cứ học tiếp thôi em. sau này gặp ắt biết

  • @hoanghuynh4110
    @hoanghuynh41109 ай бұрын

    Callback là hàm dc làm tham số của hàm khác Hàm trong hàm

  • @lordsaurondevoffical363
    @lordsaurondevoffical3632 жыл бұрын

    dễ hiểu mà hehe

  • @hoidanit

    @hoidanit

    2 жыл бұрын

    cảm ơn bạn :v

  • @datdaovan5572
    @datdaovan5572 Жыл бұрын

    callback lý thuyết thì dễ hiểu đến lúc làm việc với fetch thì việc xử lý function mới khó hiểu :))) với những người như mình đã hiểu về callback r thì thấy hiểu những với ai mới tìm hiểu thì điều đongj lại cuối video này sẽ là callback :))

  • @hoidanit

    @hoidanit

    Жыл бұрын

    haha :v

  • @SalesMaster197
    @SalesMaster1972 жыл бұрын

    11:21 Sao cái đoạn con sư tử em cũng định nghĩa 1 cái callback giống anh, mà VScode của em nó hiển thị cái callback đó màu vàng. Và khi gọi callback thì nó không ra gì cả

  • @hoidanit

    @hoidanit

    2 жыл бұрын

    kệ visual code đi e. check sao code chạy đc thôi :v

  • @SalesMaster197

    @SalesMaster197

    2 жыл бұрын

    @@hoidanit Sao em viết ở trong file .js thì nó như vậy ? Còn em viết ở ngoài file html thì ko bị

  • @phatle4912
    @phatle4912 Жыл бұрын

    anh ơi dùng hàm gì để tự động cho hàm setInterval dừng trong một khoảng thời gian nhất định và thực hiện function khác ( e dùng hàm clearInterval thì nó dừng luôn ngay khi gọi, e chả biết dùng hàm gì để thiết lập thời gian cho hàm Setinterval dùng trong một khoảng thời gian nào đó rồi dừng lại và chuyển sang hàm khác )

  • @hoidanit

    @hoidanit

    Жыл бұрын

    set Time out đấy em. điều quan trọng là e muốn loop bao nhiêu lần. 1 hay n lần hay vô hạn

  • @phatle4912

    @phatle4912

    Жыл бұрын

    @@hoidanit setTimeout là thực thi 1 callback trong khoảng thời gian delay, mà callback của em là cái setInterval. em muốn cho cái setInterval chạy khoảng một thời gian rồi tự dộng dừng

  • @tranngocuchieu9702

    @tranngocuchieu9702

    Жыл бұрын

    @@phatle4912 trong cái setinterval , bạn tạo một biến = 0 sau đó mỗi lần setinterval thì tăng biến đó lên 1 Nếu biến đó = số lần bạn muốn thì cho chạy hàm clear interval. Theo mình hiểu là vậy

  • @manhlamviec2647
    @manhlamviec26474 ай бұрын

    12:43 dòng cuối cùng là getTodos(callback), đã truyền vào callback rồi, vậy phía trên chỗ function getTodos(callback) truyền thêm callback nữa thì ko cần thiết phải ko mọi ng

  • @thanhbinhngo9300

    @thanhbinhngo9300

    3 ай бұрын

    callback ở getTodo(callback) là alias của parameter thôi, bạn có thể đặt nó là gì cũng đc. Function trong JS nó là object, và parameter của function cũng accept object. Nên ta mới truyền 1 function làm parameter đc

  • @vongan3788
    @vongan3788 Жыл бұрын

    Em hiểu trình tự chạy code khi dùng call back nhưng em vẫn chưa hiểu là: rõ ràng em có thể định nghĩa 1 hàm ở ngoài, rồi trong 1 hàm khác, sau cuối cùng muốn dùng thì gọi hàm này ban đầu em nói vào - làm như vậy ý nghĩa cũng tương tự như call back function mà? Mong anh giúp em ạ

  • @hoidanit

    @hoidanit

    Жыл бұрын

    vấn đề là N hàm. chứ ko phải là 1, 2 hàm đâu e

  • @MrVipthao

    @MrVipthao

    Жыл бұрын

    1. Cách viết không dùng callback: gọi hàm B bên trong thân hàm A, vẫn đạt được kết quả mong muốn function B(err, data){ //code logic } function A(x, y){ //code logic B(err, data); } //thực thi: A(1,2); 2. Cách viết dùng callback: truyền hàm B vào trong parameter của hàm A function B(err, data){ } function A(x, y, callback){ //code logic callback(err, data); } //thực thi: A(1, 2, B); => rõ ràng cách viết thứ 2 (dùng callback) sẽ tiện lợi hơn, vì sau này ta có thể truyền bất cứ hàm C, D, E ... nào đó vào hàm A miễn là nó có format đầu vào (cùng có 2 parameter error và data) tương tự hàm B mà không cần sửa code trong thân của hàm A. Thậm chí ta không cần khai báo trước hàm B, C, D, E... để truyền vào hàm A mà có thể tạo một function không tên và truyền ngay vào hàm A như sau function A(x, y, callback){ //code logic callback(err, data); } //thực thi: A(1, 2, function(err, data)=>{ // code logic xử lý trong function callback không tên }); 3. Bản chất của callback chỉ là gọi một function trong 1 function khác, để giải quyết vấn đề bất đồng bộ trong js, đôi khi ta phải cần đến một chuỗi các callback lồng nhau: function B(err, data){ } function A(x, y, callback){ // code logic: nếu đoạn code logic này mà nặng và tốn time, thì chương trình sẽ thực thi ngay lệnh callback phía sau mà không chờ data trả về // để giải quyết vấn đề chỉ gọi callback phía sau khi đã có data trả về thì ngay trong đoạn code logic này cũng lại cần phải viết theo kiểu callback // mọi thứ cứ lặp lại như thế cho đến khi dòng code xử lý logic còn lại là đơn giản và không tốn nhiều time nữa // khi đó ta gặp hiện tưởng callback hell, có quá nhiều callback lồng nhau callback(err, data); } //thực thi: A(1, 2, B);

  • @vinhledinh2793

    @vinhledinh2793

    7 ай бұрын

    hay ạ@@MrVipthao

  • @crazydog266
    @crazydog266 Жыл бұрын

    Hình như mình đang hiểu sai về callback phải không ta. Có phải nếu như dùng như trong video thì nó cũng không khác gì việc gọi function trong function, còn khi dùng với promise thì nó mới thực sự giải quyết được vấn đề bất đồng bộ phải không nhỉ?

  • @hoidanit

    @hoidanit

    Жыл бұрын

    callback là vậy mà bạn. functions lồng với functions (nên mới có cái gọi là callback hell). promise nó giúp code của bạn từng mình hơn 1 xíu (khi cung cấp 2 biến resolve và reject). còn về sau này dùng async await nó tiện lợi hơn nhiều bạn nhé

  • @yughiole7088
    @yughiole70882 жыл бұрын

    đệ quy là gọi lại nó trong chính thân nó! đệ quy có liên quan ko anh?

  • @hoidanit

    @hoidanit

    2 жыл бұрын

    đệ quy là cách em viết function. còn callback hell là cách trình bày code. viết sao cho nó dễ đọc, dễ maitainer đấy em :v

  • @phongtran7113
    @phongtran71132 жыл бұрын

    callback là truyền 1 hàm làm đối số của 1 hàm khác sao cho code có thể chạy lần lượt . Cho e hỏi kiểu viết này function doHomework(subject, callback) { alert(`Starting my ${subject} homework.`); callback(); } function alertFinished() { alert('Finished my homework'); } doHomework('math', alertFinished); với kiểu viết này function doHomework(subject) { alert(`Starting my ${subject} homework.`); alertFinished(); } function alertFinished() { alert('Finished my homework'); } doHomework('math'); đều ra 1 kết quả . Thế kiểu viết sau có phải là 1 callback ko a

  • @hoidanit

    @hoidanit

    2 жыл бұрын

    callback là gọi lại sau. ở đây, là truyền function là input đầu vào. kiểu đầu tiên là callback e nhé. còn kiểu sau chỉ đơn thuần là em gọi hàm bên trong hàm mà thôi. nó đâu dẫn tới callback hell :v

  • @phongtran7113

    @phongtran7113

    2 жыл бұрын

    @@hoidanit sao e thử gọi callback ntn : getToDos = (myCallback) => { console.log(1); myCallback(); console.log(3); } test = () => { setTimeout(() => { console.log(2); }, 2000); } getToDos(test); sao nó không theo thứ tự 1->2->3 nhỉ . E tưởng callback để đảm bảo code sẽ chạy đúng theo thứ tự

  • @hoidanit

    @hoidanit

    2 жыл бұрын

    @@phongtran7113 e bỏ hàm settimeout đi nhé =))

  • @phongtran7113

    @phongtran7113

    2 жыл бұрын

    @@hoidanit e tưởng là js là chạy không đồng bộ ,các hàm chạy song song nhau , dùng callback thì sẽ trở thành đồng bộ tức là chạy theo thứ tự .Em có hiểu sai ý của callback ko nhỉ

  • @bemocafterbefor5471

    @bemocafterbefor5471

    2 жыл бұрын

    ​@@phongtran7113thứ 1: js chỉ có 1 thread nên nó chỉ có 1 con stack và head vì thế nó chỉ thực thi được 1 task tại 1 thời điểm mà thôi! chư không có các hàm chạy song song trừ khi ứng dụng vào các promise... hay bất đồng bộ! thú2: callback nó chỉ là một function được truyền vào một function khác dạng tham số và được gọi như một đối số vì bản chất trong js hầu hết các kiểu dũ liệu đều là object nên đó là lý do vì sao function có thể nhận tham số là một function vì function trong js bản chất cũng là một object thứ3: callback nó tuỳ vào mục đích bạn sử dụng là gì? giống như js, nếu bạn xử lý logic liên quan đến bất đồng bộ thì bạn có thể thấy js xử lý được bất đồng bộ vì nhờ vào môi trường nó chạy là browser và được support với apis của browser nên nó có thể chạy bất đồng bộ, còn về bản chất như bạn hiểu js luôn chạy một cách tuần tự và callback cũng vậy nếu bạn sử lý logic tuần tự thì nó cũng chỉ chạy tuần tự còn bạn sử lý trong logic asyn thì nó sẽ xử lý theo kiểu asyn

Келесі