我正在尝试从Angular服务返回任务列表,该服务从宁静的.NET API获取数据。该API返回正确的数据,但是当console.log订阅的函数的结果只是未定义时。请帮忙!
这是正确运行的API方法: TaskController.cs
[HttpGet,Route("")]
public IEnumerable<GetallTasksAndInfoDto> Getall()
{
IEnumerable<GetallTasksAndInfoDto> tasks = _taskRepository.GetallTasksAndInfo();
return tasks;
}
我在task.service.ts上有两个服务,在email-notification.service.ts上有一个服务。任务是返回集合中的所有任务。电子邮件通知是从任务服务中检索任务,然后遍历它们以检查任务数据中特定属性值。
这是task.service.ts中的方法:
export class TaskService {
constructor(private http: HttpClient,private messageService: MessageService) {}
getTasks(): Observable<getallTasksAndInfo[]> {
return this.http.get<getallTasksAndInfo[]>(http://localhost:xxxxx/api/task)
.pipe(
tap(_=>this.log('fetched tasks')),catchError(this.handleError<getallTasksAndInfo[]>('getTasks',[])));
}
我不确定如何在此^点检查数据,但没有显示错误。
这是电子邮件通知中返回“未定义”的代码:
export class EmailNotificationService{
tasks: getallTasksAndInfo[];
constructor(private http: HttpClient,private messageService: MessageService,public taskService: TaskService)
{
this.getTasks().subscribe(result => this.tasks = result);
}
getTasks(): Observable<getallTasksAndInfo[]>{
return this.taskService.getTasks();
}
this.tasks.forEach((task) => {
console.log(`task: ${JSON.stringify(task)}`);
}
});
在这里,我在尝试遍历未定义的对象的控制台中遇到错误。
这是我的打字稿课:
export class getallTasksAndInfo {
taskId: number;
stepName: string;
officeName: string;
csrName: string;
taskType: string;
daysactive: number;
}
这是我的API类:
public class GetallTasksAndInfoDto
{
public int taskId { get; set; }
public string stepName { get; set; }
public string officeName { get; set; }
public string csrName { get; set; }
public string taskType { get; set; }
public int daysactive { get; set; }
}
任何帮助表示赞赏。谢谢!