簡體   English   中英

在 TypeScript 中使用 MemoryDescriptor(用於新的 WebAssembly.Memory())

[英]Using MemoryDescriptor (for new WebAssembly.Memory()) in TypeScript

我正在嘗試使用以下代碼:

const test = new WebAssembly.Memory({initial : 2, shared : true, maximum : 3});

VS Code 中的 IntelliSense 表示一切都很好。 我可以直接在 Chrome 的 JavaScript 控制台中運行該代碼。 但是當我嘗試運行tsc時,出現以下錯誤: 在此處輸入圖像描述

我右鍵單擊 VS Code。 它在lib.dom.ts.d中有預期的定義。

var Memory: {
    prototype: Memory;
    new(descriptor: MemoryDescriptor): Memory;
};
interface MemoryDescriptor {
    initial: number;
    maximum?: number;
    shared?: boolean;
}

但是,我在我的計算機上看到了 7 個lib.dom.ts.d副本。 (在我升級到最新版本的 typescript 之前有 6 個。)根據文件大小,這個文件至少有三個不同的版本。

有沒有辦法來解決這個問題?

我有一個解決方法,但它很難看。 如果我投射到any它工作正常。

const test = new WebAssembly.Memory({initial : 2, shared : true, maximum : 3} as any);

TypeScript-DOM-lib-generator中缺少shared屬性,但上個月(2021 年 2 月)有人將其添加到MemoryDescriptor接口( 拉取請求)中,您可以使用最新版本或重新編寫它直到穩定版本釋放。

例如:

interface SharedMemoryDescriptor {
    initial: number;
    maximum?: number;
    shared?: boolean;
}

const test = new WebAssembly.Memory({initial : 2, shared : true, maximum : 3} as SharedMemoryDescriptor);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM