Angular 财产';然后';不存在于类型';无效';棱角分明
我正在做角度项目。Angular 财产';然后';不存在于类型';无效';棱角分明,angular,typescript,Angular,Typescript,我正在做角度项目。 我收到错误消息-类型“void”上不存在属性“then” 以下是我到目前为止所做的工作- .ts文件- getDoctorDetails(){ this.algoliaService.getDoctorDetails() .then(({ hits }) => { this.doctorDetails = hits[0]; }); } import algoliasearch from 'algoliasearch
我收到错误消息-类型“void”上不存在属性“then”
以下是我到目前为止所做的工作-
.ts文件-
getDoctorDetails(){
this.algoliaService.getDoctorDetails()
.then(({ hits }) => {
this.doctorDetails = hits[0];
});
}
import algoliasearch from 'algoliasearch/lite';
const searchClient = algoliasearch(
environment.algolia_application_id,
environment.algolia_search_api_key
);
export class AlgoliaService {
doctorsConfig = {
indexName: 'doctor',
searchClient
};
getDoctorDetails() {
const index = searchClient.initIndex(this.doctorsConfig.indexName);
return index.search('', {
hitsPerPage: 1,
})
}
}
service.ts文件-
getDoctorDetails(){
this.algoliaService.getDoctorDetails()
.then(({ hits }) => {
this.doctorDetails = hits[0];
});
}
import algoliasearch from 'algoliasearch/lite';
const searchClient = algoliasearch(
environment.algolia_application_id,
environment.algolia_search_api_key
);
export class AlgoliaService {
doctorsConfig = {
indexName: 'doctor',
searchClient
};
getDoctorDetails() {
const index = searchClient.initIndex(this.doctorsConfig.indexName);
return index.search('', {
hitsPerPage: 1,
})
}
}
如何解决错误属性“then”在angular中的类型“void”上不存在任何帮助都将不胜感激。很明显,
this.algoliaService.getDoctorDetails()
返回void
,所以也许可以开始查看index.search('',{hitsPerPage:1,})
返回的内容?您可以通过声明返回类型来帮助自己(如果您已经在使用TypeScript),这将使问题变得明显。您从哪里得到这个错误?请注意,在第一个代码块中,您没有返回任何内容,因此该方法将隐式生成void
。如果您试图调用getDoctorDetails()。那么()
(参考第一块中显示的getDoctorDetails
)TypeScript与编译错误是正确的。如果它是关于getDoctorDetails().then()
的,目标是第二个代码块中的方法,则表明index.search()
不返回任何内容。@smutje它返回json对象,我在componet文件中得到该对象,但得到了此错误。您从哪里得到该对象?您还没有包括该部分。@Smutje正在then块的组件文件中获取该对象。