⊗jsSpACInr 155 of 294 menu

Mã bất đồng bộ với callback trong JavaScript

Giả sử chúng ta có một hàm bất đồng bộ:

function make() { setTimeout(function() { console.log('1'); }, 3000); }

Giả sử chúng ta sử dụng hàm này theo cách sau:

make(); console.log('2'); // sẽ thực thi đầu tiên

Giả sử chúng ta muốn thực hiện để lệnh in thứ hai vào console chỉ thực thi sau khi hoạt động bất đồng bộ bên trong hàm hoàn tất. Một trong những phương pháp được sử dụng cho việc này là dùng callback: bọc đoạn mã cần chờ vào một hàm ẩn danh và truyền nó làm tham số cho hàm make:

make(function() { console.log('2'); });

Tất nhiên, bản thân việc này sẽ không giải quyết được vấn đề của chúng ta. Hiện tại chúng ta chỉ mới thiết lập một thỏa thuận: nếu muốn thực thi mã sau khi make chạy xong, hãy truyền mã đó dưới dạng callback vào lời gọi make.

Hãy sửa mã hàm make để nó bắt đầu hoạt động theo thỏa thuận của chúng ta:

function make(callback) { setTimeout(function() { console.log('1'); // một hoạt động bất đồng bộ nào đó, có thể không chỉ một callback(); // sau đó là callback của chúng ta }, 3000); }

Hãy cho biết thứ tự các số sẽ được in ra console:

function make(callback) { setTimeout(function() { console.log('1'); callback(); }, 3000); } make(function() { console.log('2'); console.log('3'); });
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối