我想向正在运行的生成器提供数据。

这只是JavaScript代码,代码本身可以运行任何浏览器控制台。

function* getNumbers() {
  yield 1
  yield 5
  yield 10
}
// retrieving
const getThoseNumbers = getNumbers()
console.log(getThoseNumbers.set())
console.log(getThoseNumbers.update())


我希望下一个yield值例如5或10。
但是我收到以下错误消息


TypeError:getThoseNumbers.set不是函数
TypeError:getThoseNumbers.update不是函数

最佳答案

function* getNumbers() {
  yield 1
  yield 5
  yield 10
}
// retrieving
const getThoseNumbers = getNumbers()
// console.log(getThoseNumbers.set()) - Uncaught TypeError: getThoseNumbers.set is not a function
// console.log(getThoseNumbers.update()) - Uncaught TypeError: getThoseNumbers.update is not a function

// You should call `next()`
console.log(getThoseNumbers.next()) // 1
console.log(getThoseNumbers.next()) // 5
console.log(getThoseNumbers.next()) // 10





您应该调用next,这是获取下一个生成器的方法。

10-04 12:38