[英]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.