async await에 대해 질문드립니다
해결된 질문
231
0
강사님 안녕하세요
이 부분을 너무 질문드리는 것 같아서 죄송한 마음에 유튜브 비동기 함수 강의를 앞에서 50분 정도 들었습니다
(다른 급한 일들 때문에 한번에 다 못봤지만, 조금씩 꾸준히 다 보겠습니다 ㅠㅠ)
강사님께서 저희를 위해서 주말에 못쉬시고, 강의 올려주셨는데도,
그래도 이해가 어려운 부분이 있어서 하나만 더 봐주시면 감사하겠습니다 ㅠㅠ
아래의 소스코드들은 전부 이미지 파일이 아니라, 복붙 가능하십니다
아래의 1번째 소스코드와
async function a(){
await new Promise((resolve,reject)=>{
resolve();
})
await new Promise((resolve,reject)=>{
resolve();
})
await new Promise((resolve,reject)=>{
resolve();
})
}
a();
아래의 2번째 소스코드가 근본적으로 같은지 실험을 해보고 싶었습니다
async function b(){
await new Promise((resolve,reject)=>{
resolve();
})
}
async function a(){
await new Promise((resolve,reject)=>{
resolve();
})
b();
await new Promise((resolve,reject)=>{
resolve();
})
}
a();
확실한 방법은 아래의 async 함수 a( )를
promise. then( ) 구문으로 변환해보면 알 것 같았습니다
async function a(){
await new Promise((resolve,reject)=>{
resolve();
})
await new Promise((resolve,reject)=>{
resolve();
})
await new Promise((resolve,reject)=>{
resolve();
})
}
혹시 위의 async a( ) 함수를
아래처럼 변환하는 게 맞는지
function a(){
return new Promise((resolve,reject)=>{
resolve();
})
.then(()=>{
return new Promise((resolve,reject)=>{
resolve();
})
})
.then(()=>{
return new Promise((resolve,reject)=>{
resolve();
})
})
.then(()=>{
})
}
아니면 아래처럼 변환하는 게 맞는지 질문드리고 싶습니다
function a(){
return new Promise((resolve,reject)=>{
resolve();
})
.then(()=>{
return new Promise((resolve,reject)=>{
resolve();
})
.then(()=>{
return new Promise((resolve,reject)=>{
resolve();
})
.then(()=>{
})
})
})
}
읽어주셔서 감사합니다 ㅠㅠ
답변 1
0
then이 나란히 있는 코드가 맞고요.
await b(); 해야 근본적으로 같은 코드가 됩니다.
0
가르쳐주셔서 감사합니다
1. 아래의 두 코드가 같다는 말씀으로 이해했습니다
async function a(){
await new Promise((resolve,reject)=>{
resolve();
})
await new Promise((resolve,reject)=>{
resolve();
})
await new Promise((resolve,reject)=>{
resolve();
})
}
function a(){
return new Promise((resolve,reject)=>{
resolve();
})
.then(()=>{
return new Promise((resolve,reject)=>{
resolve();
})
})
.then(()=>{
return new Promise((resolve,reject)=>{
resolve();
})
})
.then(()=>{
})
}
2. 그리고 아래의 두 소스코드가 같다는 말씀으로 이해했습니다
async function a(){
await new Promise((resolve,reject)=>{
resolve();
})
await new Promise((resolve,reject)=>{
resolve();
})
await new Promise((resolve,reject)=>{
resolve();
})
}
async function b(){
await new Promise((resolve,reject)=>{
resolve();
})
}
async function a(){
await new Promise((resolve,reject)=>{
resolve();
})
await b();
await new Promise((resolve,reject)=>{
resolve();
})
}
3. 그래서 b( )를 promise then으로 변형시켜봤습니다

그런데 변형해보니
소스코드가 다른 것 같았습니다

혹시 제가 잘못 변형을 한 부분이 있는지 질문드리고 싶습니다
바쁘신데, 많은 도움 주셔서 감사합니다
0
뭐가 다르다고 생각하시는 건가요? 아무 의미없는 .then(() => {}) 이 붙은게 어떤 영향을 미치는거라고 생각하시나요?
제 생각에는 이제 이건 충분히 하셨으니 넘어가셔도 될 것 같습니다.
0
아 제가 변형을 잘못한 줄 알았습니다
넵 감사합니다
리눅스 노드 설치시 패키지
socket.js 에서 referer로부터 roomId를 가져올 때
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
a[title] 질문드립니다
리뉴얼 강의 및 공부 방법
jwt decode
node.js 교과서 3판 질문드립니다
passport와 jwt
리뉴얼 강의
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
sql 쿼리 로그는 어떤 모듈이 작성하나요?
nunjucks res.render('error'); 작동을 안합니다.
질문있습니다.
multer 한글 파일 업로드시 파일명이 깨져요.
수업자료는 어디있나요?
질문 있습니디
multer 사용시 file 외 name값은 못받나용?
코드 중복 부분 질문드립니다.
api 만드는 이유 질문드립니다.
Strategy의 done에 대해 질문드립니다.
안녕하세요 fs 권한 관련 질문드립니다
시퀄라이즈 연결질문...
res.setHeader vs res.cookie