ฉันสามารถกำหนดและใช้ทั่วไปฟังก์ชันแบบนี้:
const fetchData = <T>(): T[] => {
const arr: T[] = []
// if stuff push to arr
return arr
}
const emptyStringArray = fetchData<string>();
อย่างไรก็ตามในสถานการณ์จริงผมมีเยอะ params และต้องแยกกันออกจาก typings และฟังก์ชันองานที่ได้รับมอบหมาย
ฉันพยายามเขียนเหมือนนี้:
type IFetchData = <T>() => T[]
const fetchData2: IFetchData = () => {
const arr: T[] = []
// if stuff push to arr
return arr
}
const emptyStringArray = fetchData2<string>();
อย่างไรก็ตามตอนนี้ฟังก์ชันนิยามไม่ได้จำที่ T
เป็นที่ที่มีอยู่คนเดียว
ไม่สามารถค้นหาชื่อ'T'.
ฉันพยายามองรอยที่แตกต่างกันมากมา configurations อยู่ที่ไหนจะวาง <T>
แต่ดูเหมือนไม่มีอะไรต้องทำงาน-มีความคิดอะไรอีกไหม