SOURCE

function* NinjaGenerator(action) {
  const imposter = yield("Hattori" + action)
  
  assert(imposter === "Hanzo", "The generator has benn infiltrated")
  
  yield("Yoshi (" + imposter + ")") + action
}

const ninjaIterator = NinjaGenerator("skulk")

const result1 = ninjaIterator.next()

assert(result1.value === "Hattori skulk", "Hattori is skulking")

const result2 = ninjaIterator.next("Hanzo")
assert(result2.value === "Yoshi (Hanzo) skulk", "we hava an imposter")

function assert(value,text) {
        if (value === true) {
            console.log(text)
        } else {
            console.log('error')
        }
    } 
console 命令行工具 X clear

                    
>
console