我有一个典型的调用层次结构
class A
{
mirm(){
//stuff here
}
}
class B extends A
{
constructor(){
//obtain a promise
promise().then(this.setUp)
}
setUp(){
super.mirm();
}
}
承诺可能会对范围做些什么吗?我实际上希望你能够从this.mirm()
函数中执行类似setUp
的操作,因为它应该遵循原型链。是什么赋予了?我正在与babel进行编译,并将es2015作为目标。
答案 0 :(得分:3)
当调用它时,传递this.setUp
将当前上下文对象从函数引用中分离出来,因此this
方法中的super
对于查看位置感到困惑
考虑换行包装
// arrow function preserves context
foo.then(() => this.setUp());
// OR
// binding it to explicitly give context
foo.then(this.setUp.bind(this));