function f1() {
return 1;
}
function f2(result) {
console.log(result);
}
function test() {
fetch('http://localhost:3000/goods')
.then(f1)
.then(f2);
}
test();
- test()가 콜스택에 올라간다.
- fetch()가 콜스택에 올라간다.
- fetch가 webapi에서 실행된다.
- fetch가 프로미스 객체를 반환한다.
- 메모리 공간에 있던 프로미스 객체가 비동기 작업이 성공됐을 경우 resolve() 를 실행하고 fullfilled 상태로 변경된다.
- fullfilld된 상태가 되면 마이크로 태스트큐에 콜백 f1이 올라간다.
- 2번 then이 프로미스 객체를 반환한다.
- 프로미스 객체가 fullfilled 상태가 되면 2번 then이 마이크로 태스크큐에 콜백 f2가 올라간다.