在更改它的上下文值时,我无法让 co 恢复:
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 );