在Stripe Node.js库函数上使用apply

时间:2014-10-22 16:45:07

标签: javascript node.js stripe-payments

在我的Node.js应用程序中,我试图使用apply在Stripe库中进行函数调用,因为访问令牌参数是可选的。但是,我遇到了类型错误。

var args = [data];
if(accessToken) {
    args.push(accessToken);
}
args.push(function(err, customer) {
    ...
});
stripe.customers.create.apply(this, args);
Uncaught TypeError: Cannot call method 'createUrlData' of undefined
  at /home/codio/workspace/node_modules/stripe/lib/StripeMethod.js:33:24

我相信这是使用严格模式的结果,但让我知道这是否是预期的行为。我正在使用Stripe Node.js库的2.8.0版本。

1 个答案:

答案 0 :(得分:0)

可能您的this未定义,apply设置被调用函数中的上下文(this是什么)。在正常情况下,被调用函数的this将为stripe.customers,因此请尝试:

stripe.customers.create.apply(stripe.customers, args);