如何更改物件陣列的 Observable 的單個屬性。在我的服務中,我正在執行 http 請求以獲取所有任務:
getTasks(): Observable<Task[]> {
return this.httpClient.get<Task[]>('http://localhost:8080/tasks');
}
這是我的任務界面:
export interface Task {
id: number;
name: string;
dueDate: Date;
taskstatus: TaskStatus;
user: User;
}
問題是,http請求的回應物件的dueDate只是一個字串,雖然我在資料庫中將它定義為時間戳,但我只是得到一個時間戳作為字串,如“2021-09-25T11:36:29.000 00: 00”。
現在我的問題是如何更改 Observible 中的值,例如: task.dueDate = new Date(task.dueDate) 以便我可以將所有日期字串轉換為實際日期型別。(對于陣列的所有物件)
uj5u.com熱心網友回復:
該map運算子用于對 observable 進行資料轉換,您將使用maprx 內部的陣列map來轉換陣列中的每個物件:
getTasks(): Observable<Task[]> {
return this.httpClient.get<Task[]>('http://localhost:8080/tasks').pipe(
map(tasks => tasks.map(task => {
// do whatever to the task
task.dueDate = new Date(task.dueDate);
return task;
}))
);
}
您可能需要擺弄您的型別以使其編譯。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/339119.html
