TIL: fetch().then().then()?

Snoop So·2023년 3월 29일
0
function f1() {
	return 1;
}

function f2(result) {
   console.log(result); //1
}

function test() {
   fetch('http://localhost:3000/goods')
   .then(f1)
   .then(f2);
}

test();
  1. test()가 콜스택에 올라간다.
  2. fetch()가 콜스택에 올라간다.
  3. fetch가 webapi에서 실행된다.
  4. fetch가 프로미스 객체를 반환한다.
  5. 메모리 공간에 있던 프로미스 객체가 비동기 작업이 성공됐을 경우 resolve() 를 실행하고 fullfilled 상태로 변경된다.
  6. fullfilld된 상태가 되면 마이크로 태스트큐에 콜백 f1이 올라간다.
  7. 2번 then이 프로미스 객체를 반환한다.
  8. 프로미스 객체가 fullfilled 상태가 되면 2번 then이 마이크로 태스크큐에 콜백 f2가 올라간다.

0개의 댓글