웹 풀스택/javascript 4

비동기-promise 3 에러가 발생했을 때

const example = new Promise((resolve, reject) => { let isSuccess = true; // true, false 값을 변경하며 테스트 해봅니다. if (!isSuccess) { throw new Error("요청에 실패했습니다."); // 에러가 발생하면 reject하지 않아도 catch메서드로 이동합니다. } resolve(); }); example .then((res) => { console.log(res); throw new Error("일부러 에러를 내봤어요.."); // 에러가 발생하면 reject하지 않아도 catch 메서드로 이동합니다. }) .catch((err) => console.log(err)); 위처럼 then메소드 안에서 에러를 만나게 ..

비동기-promise 2 프로미스가 어떻게 콜백지옥 개선 시키나?

방식은 알겠는데 어떤방식으로 콜백함수의 콜백지옥을 개선시켰나? promise-chaining이다. 프로미스의 then 메소드를 호출되고나면 호출된 then도 새로운 프로미스 객체를 반환한다는 것! 이다. 따라서 새롭게 리턴된 객체에도 then()메서드를 연결시킬 수 있다. const heaven = new Promise((resolve, reject) => { setTimeout(() => { let num = 1; resolve(num); }, 500); }); heaven .then((num) => { console.log(num); return num + 1; }) .then((num) => { console.log(num); return num + 10; }) .then((num) => { con..

비동기-promise 1

promise 방식은 총 3개 상태값이 있다. 1.대기: 객체를 생성한 상태다. 2.이행: resolve가 실행된 상태 promise 콜백함수가 가지는 것 중 reserve가 있다 이게 호출되면 비동기 로직이 완료된 상태이다. 3.거부: reject가 실행된 상태 프로미스 콜백함수 안의 인자중에 reject라는 것이 실행된 상태이다. 비동기처리하다가 에러가 난 상태 new Promise((resolve, reject) => {}); 1.프로미스를 생성하고 2.콜백함수를 생성한다. 콜백함수의 인자로 2개를 받는다. 3 resolve가 호출되면 이행상태가 된다고 보면되고 이행상태가 되면 promise객체의 then메서드가 호출된다. 4. reject가 호출되면 거부상태가 되어 거부상태가 되면 promise객..

동기,비동기함수의 정의 콜백함수

동기: 한줄한줄 실행이 끝난 뒤 다음코드로 넘어가는 방식 비동기: 코드 실행후 완료 여부와 관계없이 다음 코드로 넘어가는 방식 ex)http통신 값을 반드시 확인한 후 활용해야하는 api요청의 경우 비동기로 하면 안된다. 자바스크립트 비동기처리 방식 1.콜백함수 2.promise객체 3.async,await 가 있다. 콜백함수: 매개변수로 넘겨받은 함수는 일단 넘겨받고, 때가 되면 나중에 호출(called back)한다는 것이 콜백함수의 개념이다. function first(next) { setTimeout(() => { console.log("first"); next(); //first에서 해야하는 일이 다 끝나면 인자안의 매개변수를 실행시키겠다 }, 2000); } function second() {..