0

我正在尝试将highlandheroku-client结合使用。但是在它使用的heroku客户端内部this,即使我尝试bind绑定它,该函数也会给出错误消息,因为this我无法让它工作。

不对,代码看起来像这样

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()返回,这是list函数所依赖的(它是返回的成员hk.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 回答