コンテキスト値も変更するときに 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 );