类型 'Uint8Array' 的参数不能分配给类型 'number[]' 的参数



基于crypto.subtle.exportKey("spki", cryptoKey)我想把返回的ArrayBuffer转换成一个字符串,这样我就可以把它变成一个base64字符串。根据文档,我尝试了

const bufferAsString = String.fromCharCode.apply(null, new Uint8Array(buffer));
但是TypeScript告诉我

TS2345:类型为Uint8Array的参数不能赋值给类型为number[]的参数。

如何修复类型错误?

在调用函数时使用参数扩展,而不是使用apply (playground):

String.fromCharCode(...new Uint8Array(buf));

您可以使用扩展语法或Array.fromUint8Array转换为常规数组。

String.fromCharCode.apply(null, [...new Uint8Array(buffer)]);

相关内容

  • 没有找到相关文章