const sendDataBtn = async () => {
const typeS = status === 'running' ? 'stop' : 'start';
await api({
url: `work/${workId}/projects/${projectId}/schedules/${scheduleId}/`,
method: 'post',
headers: { 'content-type': 'application/json' },
data: {
type: typeS,
},
})
.then(window.location.reload())
.catch((error) => {
console.log(error.response);
window.location.reload();
});
};
일반적으로 JavaScript에서 함수 호출은 동기적으로 처리됩니다. 즉, 함수 호출이 끝나기 전에는 다음 코드를 실행할 수 없습니다. 그러나 async 함수를 사용하면 함수 호출 결과를 기다리지 않고 다른 코드를 실행할 수 있습니다.
Promise는 JavaScript에서 비동기적인 처리를 위한 객체이다.
Promise는 비동기적으로 실행되는 작업이 완료되었을 때 결과를 반환하고 해당 결과를 처리하기 위한 콜백 함수를 등록할 수 있다.
Promise 객체는 다음과 같은 세 가지 상태 중 하나를 가진다.
반환된 Promise 객체의 상태는 해당 비동기 작업이 성공적으로 완료되었을 경우 "이행(fulfilled)" 상태이며, 그렇지 않을 경우 "거부(rejected)" 상태이다.
throw는 자바스크립트에서 예외를 발생시키는 데 사용되는 키워드이다.
throw 키워드를 사용하여 예외를 발생시키면, 예외가 발생한 지점에서 코드 실행이 중단되고, 예외 처리기(Exception Handler)로 제어 흐름이 이동합니다.
throw 키워드는 일반적으로 try-catch 문과 함께 사용됩니다. try 블록 내에서 예외가 발생하면 catch 블록이 실행되어 예외 처리를 수행합니다.
자바스크립트에서 예외를 처리하기 위한 구문
.then() 메서드는 Promise를 처리할 수 있는 메서드이다.
.then()은 Promise를 return 하고 두 개의 콜백 함수를 인자로 받습니다. 하나는 Promise가 이행됐을 때, 다른 하나는 거부했을 때를 위한 콜백 함수입니다. .then() 메서드는 Promise를 return 하기 때문에 첫 번째. then()에서 반환된 값을 두 번째. then()에 이어서 처리할 수 있는 메서드 체이닝(chaning)이 가능합니다.