callback hell

이용원·2022년 11월 23일

JAVASCRIPT

목록 보기
29/34

Promise의 등장 이유


const fakeRequestCallback = (url, success, failure) => {
  const delay = Math.floor(Math.random() * 2500) + 500;
  setTimeout(() => {
    if (delay > 2000) {
      failure("Connection Timeout");
    } else {
      success(`Here is your fake data from ${url}`);
    }
  }, delay);
};

fakeRequestCallback(
  "boos.com/page1",
  //첫번째 요청을 하고 난 뒤 요청을 하기위해 success 콜백에서 다시 fakeRequestCallback 호출
  //첫번째 요청이 실패하게 되면 다른 요청들은 실행 X
  //꼭 이렇게 해야하는 것은 아니고 나열해서 해도 무관함
  //콜백 안에 콜백 안에 콜백을 하게 되면 유지보수가 힘들고 코드를 보기 힘듦
  function (a) {
    console.log(a);
    console.log("첫번째 요청");
    fakeRequestCallback(
      "boos.com/page2",

      function (a) {
        console.log(a);
        console.log("두번째 요청");

        fakeRequestCallback("boos.com/page3",function(a){
            console.log(a);
            console.log("세번째 요청");
        },function(b){
            console.log(b);
            console.log('3번째 요청 실패')
        })
      },
      function (b) {
        console.log(b);
        console.log('두번째 요청 실패')
      }
    );
  },
  function (b) {
    console.log(b);
    console.log('첫번째 요청 실패')
  }
);

0개의 댓글