编辑:我编辑来解释screen
具有下面的形状。
我有一个长度未知的javascript数组,其中包含对象“屏幕”,每个对象都有形状
{
question:'bla bla bla',
end: false
}
我想编写一个生成器,它将从此数组中产生一个特定的对象,该对象由传入的id
选择,直到产生具有end === true
的对象为止>
即,具有此特定id
的对象应该是从生成器返回的last
{value: undefined, done: true
我想写这样的东西
export function* questionGenerator() { let nextID = 1; let continueLoop = true; while (continueLoop) { const screen = getNextScreen(nextID); if (screen.end) continueLoop = false; nextID = yield getNextScreen(nextID); } }
但是我不确定这是否是编写它的最佳方法。
还有更好的方法吗?
编辑:我编辑来解释屏幕的形状如下。我有一个未知长度的javascript数组,其中包含对象“屏幕”,每个对象的形状均为{问题:'bla bla bla',...
您可以从生成器中输入return
,这将简化您的代码: