我有返回功能的高階函數,並且,讓我們想象這樣的事情:TS - 重載函數簽名由廠 爲簡潔返回FN
function factory() {
return function baz(payload: { [key: string]: {} }): 'hello' {
return 'hello';
}
}
const foo = factory();
現在,foo
是函數baz
其中有這樣一個說法簽名(非常通用的):
interface payload {
[key: string] : {}
}
我需要做的是過載foo
該簽名只,有一個更準確的簽名(需要):
function foo(payload: {id: string}) {}
我怎樣才能做到這一點?
你的意思是:'const foo = factory()as(payload:{id:string})=>'hello';'? –