Я погружаюсь в генераторы javascript, и я действительно смущен.Генераторы Javascript ES6
Я использую [email protected]
запустить этот пример:
function find() {
process.nextTick(function() {
it.next(1);
});
};
var it = (function* main() {
var k = yield find();
console.log(k);
})();
it.next();
Есть ли способ, чтобы захватить ссылку на next
функции внутри генератора?
Что-то вроде:
function find(next) {
process.nextTick(function() {
next(1);
});
};
(function* main() {
var k = yield find(this.next);
console.log(k);
})().next();
Что вы на самом деле пытаетесь достичь, управляете потоком? – loganfsmyth
Что-то в этом роде. Я не знаю, что именно, это моя первая игра. –
Я имею в виду, что в вашем конкретном примере вы можете передать 'it.next.bind (it)', если вы объедините свои первый и второй примеры. Но, вероятно, лучшие ответы в зависимости от варианта использования. Но нет, генератор не может напрямую обращаться к своей функции «.next», не захватывая объект в области. – loganfsmyth