描述
有一个特定的类MachineState<T>
,T
这是它“接受”的类型。我创建了一个函数,可以同时将多个数据点“馈送”给多个 MachineState:
await context.runFunctionsParallel(sign(5), [
[this.#stateBettingOnSport, { id: 3 }], /// [MachineState<A>, A]
[this.#stateBettingOnCasino, { code: "cb12" }], /// [MachineState<B>, B]
]);
实际上,我创建了这个函数:
async runFunctionsParallel<T extends readonly [MachineState<object>, object][]>(signature: SignatureGenerator, values: {
-readonly [K in keyof T]:
T[K] extends [MachineState<infer P>, infer V]
? P extends V
? V extends P
? [MachineState<P>, P]
: never
: never
: never;
}): Promise<unknown[]> {
...
}
问题
该函数不会产生错误,但也无法工作。我没有得到典型的提示和检查。
问题
我的错误在哪里?
补充1
一个不使用数组即可工作的函数定义示例:
async runFunction<T extends {}>(signature: SignatureFunction, state: MachineState<T>, data: T): Promise<unknown> {
...
}