如下图,有个 finalFn 方法是根据某个参数动态赋值为 fn1 或 fn2,但赋值后调用 finalFn,传参 Ta Tb 都会报错,因为 fiinalFn 参数被推断为never.
想请教下问题出在哪里,需要如何修改,或者拜托指点下搜索关键字
代码截图

源代码
type Ta = '1' | '2';
type Tb = '3' | '4';
const fn1 = (val: Ta) => {
console.log(val);
};
const fn2 = (val: Tb) => {
console.log(val);
};
function handler (val: string) {
let finalFn;
let params: Ta | Tb;
switch (val) {
case 'A':
finalFn = fn1;
params = '1';
break;
case 'B':
finalFn = fn2;
params = '4';
break;
default:
break;
}
finalFn && finalFn(params);
}