-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
유명함수에 대해 질문드립니다.
22.06.24 09:15 작성 조회수 172
0
go(
1,
(a) => a + 10,
(a) => Promise.resolve(a + 100),
(a) => a + 1000,
log
);
위의 코드를 실행했을 때,
return (function recur(acc) {
for (const a of iter) {
acc = f(acc, a);
if (acc instanceof Promise) return acc.then(recur);
}
return acc;
})(acc);
이렇게 작성하면 (a) => a+1000까지 동작하는데
return (function recur(acc) {
for (const a of iter) {
if (acc instanceof Promise) return acc.then(recur);
acc = f(acc, a);
}
return acc;
})(acc);
위와 같이 바꾸면 (a) => a+1000이 빠집니다.
어차피 Promise가 아닌 함수들은 하나의 콜스택에서 동작하니 두 문의 위치를 바꿔도 상관 없지 않나요?
답변을 작성해보세요.
0
답변 1