我一直在考虑这个问题,我似乎无法想出一个合理的解决方案来解决这个问题。问题陈述很简单 - 编写一个生成器,它将延迟分页远程数据集。为了简化事情,这是我希望我的图书馆的用户看到的理想情况:
for (var user of users()) {
console.log(user);
}
我似乎无法让发电机工作。我在想这样的逻辑会起作用,但我不知道如何实现它。
function* users() {
while (canPaginate) {
yield* getNextPageOfUsers() // This will need to return an array of users from an http request
}
}
我确定我在这里想出了点问题,但我似乎找不到任何人使用这样的生成器的例子(大多数人将它们与静态数据一起使用,或者人们在做类似的事情async(function*(){...})
,这并不完全是什么我想做)。这里的重要部分是我希望最终用户能够使用上述数据。
-文斯