⊗jsSpACCH 160 of 294 menu

JavaScript에서의 콜백 헬 문제

함수 loadImage를 사용하여 세 장의 이미지를 로드하려 한다고 가정해 봅시다:

loadImage('img1.png', function(image, err) { document.body.append(image); }); loadImage('img2.png', function(image, err) { document.body.append(image); }); loadImage('img3.png', function(image, err) { document.body.append(image); });

이 코드에는 문제가 있습니다. 사실은, 이미지들이 로드되는 대로 body에 추가될 것입니다. 즉, 이미지들이 우리가 원하는 순서대로 정확히 추가될 것이라는 보장이 없습니다.

또 다른 문제가 있습니다. 세 장의 이미지가 모두 로드된 후에 어떤 작업을 수행하고 싶다고 가정해 봅시다. 우리 코드에서는 이 순간을 포착할 수 없습니다. 왜냐하면 세 이미지 모두 독립적으로 로드되기 때문입니다.

좋습니다, 코드를 수정해 보겠습니다:

loadImage('img1.png', function(image1, err1) { document.body.append(image1); loadImage('img2.png', function(image2, err2) { document.body.append(image2); loadImage('img3.png', function(image3, err3) { document.body.append(image3); console.log('모든 이미지가 로드되었습니다'); }); }); });

우리는 설명된 두 가지 문제를 해결했습니다. 그러나, 그 대가로 다른 문제를 얻었습니다. 아직은 그 문제가 크게 보이지 않지만, 코드에서 세 장이 아니라 10장의 이미지를 로드하고, 예외 처리까지 추가된다면 코드가 어떻게 보일지 상상해 보세요. 결과적으로 코드는 극도로 가독성이 떨어지게 될 것입니다: 콜백이 서로 중첩될수록 코드 복잡도가 눈사태처럼 증가합니다. 이러한 상황을 callback hell 이라고 부릅니다.

주어진 코드를 10장의 이미지를 로드하고 예외 처리까지 포함하도록 다시 작성해 보세요. 콜백 헬 상황이 발생하는지 확인하세요.

한국어
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ʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부