Zwingen Sie einen Verbraucher, und den gesamten Iterator zu verwenden
Posted: 14 Feb 2025, 04:22
Gibt es eine Möglichkeit, einen Verbraucher zu zwingen, einen gesamten Iterator zu verwenden? ">const [first] = tuple // throws "Need to use both"
const [first, second] = tuple // works
< /code>
Ich hatte gehofft, so etwas wie: < /p>
*[Symbol.iterator]() {
const tuple = this.error
? ([null, this.error] as const)
: ([this.value, null] as const);
yield tuple[0];
return {
done: true,
value: (() => {
throw new Error("Must destructure both values from tuple");
})(),
};
}
< /code>
würde funktionieren, aber nicht. Ist das überhaupt möglich? Ich kann mir nicht wirklich einen soliden Weg vorstellen, würde aber etwas Hilfe von den großen Gehirnen lieben.
const [first, second] = tuple // works
< /code>
Ich hatte gehofft, so etwas wie: < /p>
*[Symbol.iterator]() {
const tuple = this.error
? ([null, this.error] as const)
: ([this.value, null] as const);
yield tuple[0];
return {
done: true,
value: (() => {
throw new Error("Must destructure both values from tuple");
})(),
};
}
< /code>
würde funktionieren, aber nicht. Ist das überhaupt möglich? Ich kann mir nicht wirklich einen soliden Weg vorstellen, würde aber etwas Hilfe von den großen Gehirnen lieben.