一切正常,直到我开始重构一些代码:
我有一个这样定义的(发电机)功能:
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)