New Decryptor: Add js decoder for Ximalaya X2M and X3M #23
|
@ -3,7 +3,7 @@ import { AudioMimeType, SniffAudioExt, GetArrayBuffer, GetMetaFromFile } from ".
|
|||
import { DecryptResult } from '@/decrypt/entity';
|
||||
|
||||
|
||||
const HandlerMap: Map<string, Function> = new Map([
|
||||
const HandlerMap: Map<string, (data: Uint8Array) => Uint8Array> = new Map([
|
||||
["x2m", ProcessX2M],
|
||||
["x3m", ProcessX3M],
|
||||
]);
|
||||
Yuki1536 marked this conversation as resolved
Outdated
|
||||
|
|
Loading…
Reference in New Issue
类型可以考虑更改为
Record<string, Handler>
不过看这个 handler 只有一个成员,可以考虑更改一下类型:
使用的时候可以直接:
或者使用真正的 Map 类型:
感谢。
抱歉,前两天发烧了,今天舒服点了在改了。
感谢你们的帮忙
不太明白这个数据类型的定义后的用法,为啥string后面是(data: Uint8Array),还通过=>指向一个void
目前用Map写的是
谢谢
(data: Uint8Array) => void
是一起的,这是一个函数签名,表示它读入一个 Uint8Array 的参数,并没有返回值(返回值为 undefined)感谢,那么我想调用相应key中的value的话,还是用
这种写法么?
试着这么写被VS画了红线
把 vscode 报告的 TypeScript 错误信息发出来看看
抱歉,仔细看了一下逻辑。
函数是要返回一个新的数据,因此返回类型是错的。
(data: Uint8Array) => void
应该改为
(data: Uint8Array) => Uint8Array
明白了,那么最后是写
Function
好还是改成(data: Uint8Array) => Uint8Array
比较好?两种写法都能跑起来。
我的建议是后者,因为提供了更详细的信息让 type script 来进行类型检查。
如果是前者然后改掉了函数参数类型,是不会报错的。
OK