0

heroku-clientと組み合わせてハイランドを使用しようとしています。しかし、それが使用するherokuクライアントの内部では、これをバインドしようとしても、機能が動作しないという言及があるエラーメッセージが表示されます。 thisbindthis

いいえ、コードは次のようになります

const Heroku = require('heroku-client');
const hl = require('highland');
var hk = new Heroku({
  token: process.env.HEROKU_API_TOKEN
});
var list = hl.wrapCallback(hk.apps().list.bind(hk));
list().toArray((a) => 'console.log(a)')

そのため、このコード スニペットは次のエラー メッセージで失敗します。

...node_modules/heroku-client/lib/resourceBuilder.js:35
if (this.params.length !== pathParams.length) {
               ^

TypeError: Cannot read property 'length' of undefined
4

1 に答える 1

1

よ!:-)

関数が依存するものである戻り値ではhkなく、バインドしています(これは戻り値のメンバーです)hk.apps()listhk.apps()

これを試して:

const Heroku = require('heroku-client');
const hl = require('highland');
const hk = new Heroku({
  token: process.env.HEROKU_API_TOKEN
});
const hkApps = hk.apps();
const list = hl.wrapCallback(hkApps.list.bind(hkApps));
list().toArray((a) => 'console.log(a)')
于 2015-10-13T18:15:18.597 に答える