AsyncFunction() constructor
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.
AsyncFunction()
생성자는 AsyncFunction
객체를 생성합니다.
AsyncFunction
은 전역 객체가 아니라는 점에 유의하시기 바랍니다. 다음 코드를 통해 얻을 수 있습니다.
js
const AsyncFunction = async function () {}.constructor;
AsyncFunction()
생성자는 직접 사용하기 위한 것이 아닙니다. 그리고 Function()
설명에 언급된 모든 주의 사항은 AsyncFunction()
에도 적용됩니다.
구문
js
new AsyncFunction(functionBody)
new AsyncFunction(arg1, functionBody)
new AsyncFunction(arg1, arg2, functionBody)
new AsyncFunction(arg1, arg2, /* …, */ argN, functionBody)
AsyncFunction(functionBody)
AsyncFunction(arg1, functionBody)
AsyncFunction(arg1, arg2, functionBody)
AsyncFunction(arg1, arg2, /* …, */ argN, functionBody)
참고:
AsyncFunction()
은new
와 함께 혹은 그냥 없이도 호출할 수 있습니다. 둘 다 새로운AsyncFunction
인스턴스를 생성합니다.
매개변수
Function()
를 보세요.
예제
AsyncFunction() 생성자로부터 비동기 함수 생성하기
js
function resolveAfter2Seconds(x) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(x);
}, 2000);
});
}
const AsyncFunction = async function () {}.constructor;
const fn = new AsyncFunction(
"a",
"b",
"return await resolveAfter2Seconds(a) + await resolveAfter2Seconds(b);",
);
fn(10, 20).then((v) => {
console.log(v); // 4초 뒤 30을 출력합니다
});
명세서
Specification |
---|
ECMAScript Language Specification # sec-async-function-constructor |
브라우저 호환성
BCD tables only load in the browser