我目前正在尝试填充createImageBitmap
功能。
[NoInterfaceObject, Exposed=Window,Worker]
interface ImageBitmapFactories {
Promise createImageBitmap(ImageBitmapSource image, optional long sx, long sy, long sw, long sh);
};
似乎此功能允许createImageBitmap(image)
和createImageBitmap(image, sx, sy, sw, sh)
,但不允许其他功能,例如createImageBitmap(image, 0, 0)
。
如何在TypeScript中执行此操作?我不能这样做:
function createImageBitmap(image: any, sx?: number, sy: number, width: number, height: number) { }
...因为这无法编译。
答案 0 :(得分:2)
你需要函数重载:
declare function createImageBitmap(image: any, sx: number, sy: number, width: number, height: number);
declare function createImageBitmap(image: any, sy: number, width: number, height: number);
但我认为你的声明是错误的。所有x,y,w,h都是可选的:
答案 1 :(得分:1)
看起来你需要功能重载:
function createImageBitmap(image: any);
function createImageBitmap(image: any, sx: number, sy: number, width: number, height: number);
function createImageBitmap(image: any, sx?: number, sy?: number, width?: number, height?: number) {
// ...
}