【发布时间】:2019-06-08 09:15:25
【问题描述】:
我有一个简单的类来处理 Fetch 响应的可读流:
class ProgressIndicator {
constructor(res) {
this.res = res;
this.contentLength = parseInt(res.headers.get('content-length', 10));
this.loaded = 0;
return new Response(
new ReadableStream({
start(controller) {
console.log(this);
this.reader = this.res.body.getReader();
this.readStream(controller);
}
})
);
}
显然,如果我在 start 函数中记录这个,我会得到自己的函数。
知道如何将 ProgressIndicator 对象绑定到启动函数吗?
【问题讨论】:
-
在 ProgressIndicator 中创建属性 self = this;和日志(自己);将引用类范围
-
@Sameer 我用过 self 并且它可以工作,但是如果我创建多个实例并不危险?或者它为每个实例创建一个新的自我?
-
它将为每个创建新实例。除非您将 self 声明为静态。
标签: javascript ecmascript-2017