結論 thunkifyをオブジェクトのメソッドに適用する時は、元のメソッドに代入するか、thisを元のオブジェクトにbindすること。 fs.readFile = thunkify(fs.readFile) // または var readFile = thunkify(fs.readFile.bind(fs)); ただし、fs.readFileはvar readFile = thunkify(fs.readFile.bind(fs));でも動きます。詳細は以下。 元のオブジェクトに影響を与えない、ということを考えると後者の方が良いかも。 原因 thunkify は、Node で generator を使ったプログラムを書く時に便利ですが、1つ気をつけることがあります。 thunkify の実装は以下のようになっています。 function thunkify(fn){ return func