Javascript 如何在事件函数中获取该类

Javascript 如何在事件函数中获取该类,javascript,javascript-events,Javascript,Javascript Events,我创建了一个web worker,如下所示: export class WorkerApi { private worker:Worker; constructor() { this.worker = new Worker("web-worker.js"); this.worker.onmessage = this.messageHandler; } private messageHandler (e) {

我创建了一个web worker,如下所示:

export class WorkerApi {

    private worker:Worker;

    constructor() {
        this.worker = new Worker("web-worker.js");
        this.worker.onmessage = this.messageHandler;
    }

    private messageHandler (e) {

        // need "this" for the instantiated WorkerApi object here

        // ...
    }
我遇到的问题是,当调用messageHandler时,“this”是Worker对象。我需要访问我的WorkerApi对象。我怎么知道?(我正在使用typescript,但我相信这是一个javascript问题。)

只需执行以下操作:

this.worker.onmessage=this.messageHandler.bind(this)


处理程序中的
this
值将指向您的
WorkerApi
实例。

是的,这不是JavaScript,除非您使用的是ECMAScript 6,它仍然很小different@phylax我猜是TypeScript。好吧,读了TypeScript,没听说过,发现它基本上是一个编译器。不是吗?是的,正如我在问题中提出的,我使用的是打字稿。我给了你一张赞成票,以弥补投反对票的人的不足。