如何构造对象以允许初始化与条带API相同:
var stripe = require("stripe")(
"sk_test_BQokikJOvBiI2HlWgH4olfQ2"
);
我试过这个
var example = (function () {
function example(api_token) {
this.token = api_token;
}
example.prototype.getSelf = function (callback) {
//do stuff
};
return example;
}());
module.exports = example;
但是在调用Cannot set property 'token' of undefined
var sdk = require('./Example')(API_KEY);
错误
答案 0 :(得分:2)
由于您的函数不是作为构造函数调用的(通过new
关键字),因此您需要确保您提供的函数不会以这种方式调用。
你可以这样做:
function Example(api_token) {
this.token = api_token;
}
// ...prototype, etc.
function example(api_token) {
return new Example(api_token);
}
module.exports = example;
或根本不使用构造函数,并使用Object.create
:
var exampleProto = {
getSelf: function() {
// ...
}
};
function example(api_token) {
var o = Object.create(exampleProto);
o.token = api_token;
return o;
}
module.exports = example;