【发布时间】:2019-10-09 16:20:06
【问题描述】:
我有 2 个 Javascript 函数。第一个将值返回给第二个。在第二个函数中,我无法访问之前声明的常量。
我尝试重命名常量。
//app.service.ts
import { Injectable, OnModuleInit } from '@nestjs/common';
import { Observable, of } from 'rxjs';
@Injectable()
export class AppService implements OnModuleInit {
constant1 = 'constant1';
onModuleInit() {
this.someFunction1()
.pipe(
this.someFunction2,
).subscribe(console.log);
}
private someFunction1(): Observable<string> {
console.log('someFunction1');
console.log('constant1 = ', this.constant1);
return of('done');
}
private someFunction2(something:Observable<string>):Observable<string> {
console.log('someFunction1');
console.log('constant1 = ', this.constant1);
// Cannot read property of constant1
return of('done');
}
}
我希望输出是“constant1”。但我收到“无法读取常量 1 的属性”的错误。
【问题讨论】:
-
使用
this.someFunction2.bind(this)。见stackoverflow.com/q/20279484/9423231
标签: typescript rxjs nestjs