在我的项目中,我不想使用构造function () {}
,而不是我想使用() => {}
或() => ()
。代码如下。在第一个示例中,我可以看到this
,在第二种情况下this
未定义。所以我想知道,是否有可能让() => {}
看到this
?我尝试使用() => {}.bind(this)
无效,而({ context: this }) => {}
也无效。
// Example 1
describe('Currency converter', () => {
it('should be shown on the page', function () {
console.log(this); // { bla: ..., blabla: ... }
return this.browser
.url('/')
.keys(['currence', '\uE007'])
.isExisting('.converter-form')
.then((exists) => {
assert.ok(exists, 'currence did not show');
});
});
});
// Example 2
describe('Currency converter', () => {
it('should be shown on the page', () => {
console.log(this) // undefinded
return this.browser
.url('/')
.keys(['currence', '\uE007'])
.isExisting('.converter-form')
.then((exists) => {
assert.ok(exists, 'currence did not show');
});
});
});
答案 0 :(得分:1)
没有!即使您尝试绑定它们,箭头函数也不具有this
的值。你必须使用长格式。