有三个文件。
context.js
,它导出传递给bind
的对象:module.exports = {
exceptionValue: 99
};
strategy.js
导出了我要在其上调用bind的函数:module.exports = events => {
if (this.exceptionValue !== 99) {
throw new Error(this);
}
return events;
};
index.js
会导入之前的两个文件:const context = require('./context');
const strategy = require('./strategy');
const strategyWithContext = strategy.bind(context);
return strategyWithContext(events);
events
是传递给index.js
的JSON对象的列表。更准确地说,我正在从index.js
导出此函数,调用它的人将提供这些事件。但这没什么特别的,只是一个JSON对象列表。
问题在于,策略函数中的this
引用无法正常工作,并且始终会引发异常。我根本无法访问上下文对象。我究竟做错了什么?为什么不起作用?
答案 0 :(得分:3)
您误认了问题。出口无关紧要。
箭头功能已经绑定了一个bind()
值,并且您不能使用module.exports = function (events) {
if (this.exceptionValue !== 99) {
throw new Error(this);
}
return events;
};
覆盖它。
使用函数表达式代替箭头函数。
dataset = pd.read_csv('c:/1/housing.data', engine = 'python', sep='\s+', header=None)