如何在事件函数中获取类 this

问题描述 投票:0回答:1

我创建一个 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 问题。)

javascript dom-events
1个回答
1
投票

就做:

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

处理程序中的

this
值将指向您的
WorkerApi
实例。

© www.soinside.com 2019 - 2024. All rights reserved.