У меня проблема с возобновлением работы при изменении значения контекста:
var co = require( 'co' );
function *foo( next ){
console.log( 'foo yielding' );
yield next;
console.log( 'foo yielded' );
return 42;
}
var bar = co( function *(){
console.log( 'bar yielding' );
// this is the bit that I'm having problems with
yield function( cb ){
return co( foo ).call(
{ name: 'this object' }
, function(){ console.log( 'in next' ); }
, cb
);
};
console.log( 'bar yielded' );
} );
bar();
Вышеуказанные журналы:
bar yielding
foo yielding
in next
Я пробовал обернуть строку co( foo ).call
функцией, функцией генератора и множеством других вещей. Я не могу заставить его работать ... помогите!
Обратите внимание, что если я обычно вызываю co
, он работает. Но тогда я не могу установить контекст или передать аргументы функции, которую пытаюсь вызвать:
yield co( foo );