我有一個情況,我想模擬一個函數,如果某些條件滿足,我收到一個錯誤。javascript嘲笑原型函數錯誤
這裏是有條件地選擇是否嘲笑功能
MyClass.prototype.methodOne = function (callback) {
var self = this;
var methodTwo = this.methodTwo;
if (someCondition) {
methodTwo = function(callback) {
callback(null);
};
}
methodTwo(function (err) { });
}
MyClass.prototype.methodTwo = function (callback) {
var self = this;
var batch = new Batch();
batch.concurrency(this.options.concurrency); ----> error here
// some more stuff
callback(err);
}
的錯誤消息是Uncaught TypeError: Cannot read property 'concurrency' of undefined
如果不是調用methodTwo(function (err) { });
我打電話this.methodTwo(function (err) { });
一切正常功能。
您可以在您的示例中添加一些警報或console.log,並說明您的詳細行爲是什麼? –