2020/09/21 TIL
동기 vs 비동기
사진에서 볼 수 있듯이 왼쪽은 동기, 오른쪽은 비동기이다. 동기 같은 경우는 클라이언트가 요청을 보내면 그 요청이 끝날 때까지 기다려야지만 다음 요청을 받고 수행하는 것을 볼 수 있다.
하지만 비동기는 클라이언트의 요청을 바로바로 받고 수행하게 되기 때문에 걸리는 시간도 동기보다 훨씬 짧다.
콜백 지옥에서 벗어나기 위한 Promise
//Promise 선언
let promise = function (param) {
return new Promise(function (resolve, reject) {
// 비동기를 표현하기 위해 setTimeout 함수를 사용
window.setTimeout(function () {
// 파라메터가 참이면,
if (param) {
// 해결됨
resolve("해결 완료");
}
// 파라메터가 거짓이면,
else {
// 실패
reject(Error("실패!!"));
}
}, 3000);
});};
//Promise 실행
promise(true)
.then(function (text) {
// 성공시
console.log(text);
}, function (error) {
// 실패시
console.error(error);
});
pending: 팬딩이 걸린 상태, 아직 약속이 fulfilled 될지 rejected 정해지지않은 상황
fulfilled: 약속이 지켜진 상태(실행됨)
rejected: 약속이 못 지켜진 상태(거절됨)
settled: 약속이 지켜졌든 아니든 일단 결론이 난 상태
const promise1 = Promise.resolve(123);
promise1.then((value) => {
console.log(value);
// expected output: 123
});
Promise .then 의 리턴값은 resolve()안에 들어가 있는 값이며, then()의 매개변수 또한 resolve안에 들어있는 값이다
https://nodejs.org/dist/latest-v14.x/docs/api/fs.html#fs_fs_readfile_path_options_callback
Author And Source
이 문제에 관하여(2020/09/21 TIL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yjhe333/20200921-TIL-3lzhmp5k저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)