打字稿-函数表达式中的参数

时间:2019-09-10 07:59:20

标签: typescript

我有这段代码-我试图在其中传递字符串title

let GetData: (title: string) => Promise<APIStates<Series[]>>;

if (process.env["REACT_APP_SERVICE_VERSION"] === "development") {
    GetData = useGetDataServiceDummy(title)
}

但是我仍然遇到2个错误,无法找出解决该错误的语法:

  • Cannot find name 'title'
  • Promise<APIStates<Series[]> is not assignable to (title: string) => Promise<APIStates<Series[]>

有人可以帮我解决语法问题吗?

供参考,请使用GetDataServiceDummy

export async function useGetDataServiceDummy(title: string): Promise<APIStates<Series[]>> {
    // do soemthing with `title`
    return { status: "loaded", payload: dummyData };
}

任何帮助将不胜感激。

谢谢。

2 个答案:

答案 0 :(得分:2)

您似乎正在尝试将useGetDataServiceDummy分配给GetData,但是实际上是在调用useGetDataServiceDummy,然后将返回值分配给GetData 。尝试以下方法:

if (process.env["REACT_APP_SERVICE_VERSION"] === "development") {
    GetData = useGetDataServiceDummy
}

答案 1 :(得分:0)

如果要将useGetDataServiceDummy(title)的功能分配给GetData,则应像这样更改GetData的定义;

let GetData: Promise<APIStates<Series[]>>;