
420
13장 비동기 자바스크립트
return promise Maker(nextInput) //
다음
출력
값을
계산합니다
.
//
새
출력
값으로
새
출력
배열을
생성합니다
.
.then(output
=
> outputs.concat(output))
//
새
출력
배열을
전달하면서
'
재귀
'
합니다
.
.then(handle NextInput);
}
}
//
빈
배열로
이행되는
프라미스로
시작하고
위
함수를
콜백으로
사용합니다
.
return Promise.resolve([]).then(handleNextInput);
}
promiseSequence()
함수는 의도적으로 범용으로 만들었습니다. URL을 가져오는
코드에는 이렇게 사용합니다.
// URL
을
받고
해당
URL
바디로
이행되는
프라미스를
반환합니다
.
function fetchBody(url) { return fetch(url).then(r
=
> r.text()); }
// URL
바디
묶음을
순서대로
가져옵니다
.
promiseSequence(urls, fetchBody)
.then(bodies
=
> { /*
문자열
배열을
사용할
코드
*/ })
.catch(console.error);
13.3
ES2017은 새 키워드
async
와
await
를 도입했습니다. 이 키워드는 ...