TypeScript说该函数即使已定义也未定义

问题描述 投票:0回答:1

一切正常,直到我开始重构一些代码:

我有一个这样定义的(发电机)功能:

function* getContentsSaga() {
    try{
        const response = yield call(ContentApi.getContents);
        yield result(GET_CONTENTS_SUCCESS, response)
    }catch(e){
        yield result(GET_CONTENTS_FAILURE, e)
    }
 }

然后,在定义的行[[之前中,我有这个:

function* fetchContentsRoot(){ yield takeEvery(GET_CONTENTS_PENDING, getContentsSaga); }
但是,TypeScript抱怨没有定义函数getContentsSaga。如果我将功能移到该行上方,它将起作用。但是我不明白为什么需要在调用之前[[before
定义它,因为在JS中,不需要在用法上方定义由function关键字声明的任何函数。其次,为什么在另一个文件中使用相同的结构(在定义之前使用,实际上是相同的代码)之前,它能完美地工作?

发生了什么事? (我使用的是TypeScript 3.7.4)

typescript generator redux-saga yield typescript3.0
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.