AsyncGeneratorFunction
AsyncGeneratorFunction 物件提供了訪問 非同步生成器函式 的方法。在 JavaScript 中,每個非同步生成器函式實際上都是一個 AsyncGeneratorFunction 物件。
請注意,AsyncGeneratorFunction 不是一個全域性物件。可以透過以下程式碼獲取它:
const AsyncGeneratorFunction = async function* () {}.constructor;
AsyncGeneratorFunction 是 Function 的一個子類。
試一試
const AsyncGeneratorFunction = async function* () {}.constructor;
const foo = new AsyncGeneratorFunction(`
yield await Promise.resolve('a');
yield await Promise.resolve('b');
yield await Promise.resolve('c');
`);
let str = "";
async function generate() {
for await (const val of foo()) {
str += val;
}
console.log(str);
}
generate();
// Expected output: "abc"
建構函式
AsyncGeneratorFunction()-
建立一個新的
AsyncGeneratorFunction物件。
例項屬性
也從其父級 Function 繼承例項屬性。.
這些屬性定義在 AsyncGeneratorFunction.prototype 上,並被所有 AsyncGeneratorFunction 例項共享。
AsyncGeneratorFunction.prototype.constructor-
建立了例項物件的建構函式。對於
AsyncGeneratorFunction例項,初始值是AsyncGeneratorFunction建構函式。 AsyncGeneratorFunction.prototype.prototype-
所有非同步生成器函式共享同一個
prototype屬性,即AsyncGenerator.prototype。透過async function*語法或AsyncGeneratorFunction()建構函式建立的每個非同步生成器函式也有自己的prototype屬性,其原型是AsyncGeneratorFunction.prototype.prototype。當非同步生成器函式被呼叫時,其prototype屬性將成為返回的非同步生成器物件的原型。 AsyncGeneratorFunction.prototype[Symbol.toStringTag]-
[Symbol.toStringTag]屬性的初始值是字串"AsyncGeneratorFunction"。此屬性用於Object.prototype.toString()。
這些屬性是每個 AsyncGeneratorFunction 例項自身的屬性。
例項方法
從其父級 Function 繼承例項方法。.
規範
| 規範 |
|---|
| ECMAScript® 2026 語言規範 # sec-asyncgeneratorfunction-objects |
瀏覽器相容性
載入中…