属性 'renderer' 没有初始化器,并且在 constructor.ts(2564) 中没有明确分配

时间:2021-02-03 12:21:31

标签: typescript

我有一个名为 createRenderer 的异步函数。因此,我收到类型代码 renderer: RendererType 的错误,因为未在构造函数中分配渲染器。在这种情况下,最佳做法是什么?我应该在渲染器的类型上使用 ! 符号还是应该让渲染器也输入 undefined 或其他类型?

export default class Game {
    camera: Camera;
    canvas: HTMLCanvasElement;
    renderer: RendererType;
    player: Player;

    constructor(inputHandler: InputHandlerType) {
        // Setup up
        // Player
        this.player = new Player(inputHandler, 0, 0);

        // Renderer
        createRenderer().then((renderer) => {
            this.renderer = renderer;
            this.loop();
        });
    }
    // Extra code below
}

0 个答案:

没有答案