Câu hỏi

Callback hell trong Javascript là gì?

Câu trả lời

Callback hell trong JavaScript, còn được gọi là "pyramid of doom" hoặc "hadouken", là một tình huống phổ biến trong lập trình bất đồng bộ với JavaScript, nơi mà các hàm callback được lồng vào nhau sâu và rộng, dẫn đến mã nguồn khó đọc, khó bảo trì và dễ gây lỗi. Điều này thường xảy ra khi bạn có nhiều thao tác bất đồng bộ cần phải được thực hiện theo một trình tự nhất định và kết quả của mỗi thao tác phụ thuộc vào thao tác trước đó.

Ví dụ về callback hell:

fs.readdir(source, function (err, files) {
  if (err) {
    console.log('Error finding files: ' + err)
  } else {
    files.forEach(function (filename, fileIndex) {
      // ... thêm nhiều lớp lồng nhau khác ...
    });
  }
});

Trong ví dụ trên, bạn có thể thấy rằng các hàm callback được lồng vào nhau nhiều lần, tạo ra một "hình kim tự tháp" của mã nguồn, và nhiều dấu }) ở cuối, làm cho mã nguồn trở nên rối rắm và khó theo dõi.

Để tránh callback hell, có...

Bạn cần đăng nhập để xem