2016-01-26 2 views
0

Я пытаюсь получить доступ к свойству объекта, прошедшего обратно с использованием yield.Доступ к свойствам уступаемых объектов

function*test() { 
console.log(yield) 
console.log(yield(true).test) 
} 

var generator = test() 

generator.next({ test: true }) 
generator.next({ test: true }) 
generator.next({ test: true }) 

Однако свойство не доступно.

Object { test: true } 
Object { test: true } 

Am Я-то недоразумение, или это просто так, как это работает, и я просто должен присвоить результат доходности к временной переменной?

ответ

1

Вы неправильно читаете свои parens. yield - это ключевое слово, а не функция.

console.log(yield(true).test) 

такая же, как

console.log(yield (true).test); 

или

console.log(yield (true.test)); 

так что вы все еще каротажного результат yield, то .test не обрабатывает значения, переданного в .next.

Вы хотите

console.log((yield true).test); 
Смежные вопросы