async function* 표현식
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
async function*
키워드는 표현식 내부에서 비동기 제너레이터 함수를 정의하는데 사용됩니다.
시도해보기
구문
js
async function* (param0) {
statements
}
async function* (param0, param1) {
statements
}
async function* (param0, param1, /* … ,*/ paramN) {
statements
}
async function* name(param0) {
statements
}
async function* name(param0, param1) {
statements
}
async function* name(param0, param1, /* … ,*/ paramN) {
statements
}
매개변수
name
Optional-
함수 이름입니다. 익명 함수의 경우 생략할 수 있습니다. 이름은 함수 본문 내에서만 유효합니다.
paramN
Optional-
함수에 전달되는 인수의 이름입니다. 함수는 최대 255개의 인수를 가질 수 있습니다.
statements
Optional-
함수 본문을 구성하는 구문입니다.
설명
async function*
표현식은 async function* statement과 상당히 유사하며 문법도 거의 동일합니다. 둘의 큰 차이점은 함수 이름인데, async function*
표현식에서는 함수 이름을 생략해 익명 비동기 제너레이터 함수를 만들 수 있습니다. 더 자세한 내용은 함수
에 대한 챕터를 참고하세요.
예제
async function* 사용하기
다음 예제는 이름이 없는 비동기 제너레이터 함수를 정의하고 x
에 할당한 후, 인수를 제곱한 값을 반환합니다.
js
const x = async function* (y) {
yield Promise.resolve(y * y);
};
x(6)
.next()
.then((res) => console.log(res.value)); // 36
명세
Specification |
---|
ECMAScript Language Specification # sec-async-generator-function-definitions |
브라우저 호환성
BCD tables only load in the browser
같이 보기
async function*
statementAsyncGeneratorFunction
object- 이터레이션 프로토콜
GeneratorFunction
objectyield
yield*
Function
object- Functions