я получил Error trying to diff '[object Object]'. Only arrays and iterables are allowed
эта ошибка, когда я пытаюсь получить обновленные данные
Получить код:
allDatas
allData(data) {
this.allDatas = data
}
Хорошо. Итак, это код обновления, я пишу:
updateTodo(currentTodo){
// console.log(currentTodo)
this._todo.updateTask(currentTodo).subscribe(
data=>{console.log(data);this.allData(data)},
error=>console.log(error)
)
}
Этот запрос исходит от Service.ts
updateTask(todo:TodoModel):Observable<TodoModel>{
return this._http.put<TodoModel>('http://127.0.0.1:3000/todo/updateTodo/'+todo.id,todo,headerOption)
}
Я проверил все вещи, используя cosole.log И в конце я получил строку, откуда я получил ошибку, позвольте мне показать Вы
updateTodo(currentTodo){
// console.log(currentTodo)
this._todo.updateTask(currentTodo).subscribe(
data=>{console.log(data);this.allData(data)}, //Error Comes from this line----------
error=>console.log(error)
)
}
это тот же самый код обновления: когда я пишу data=>console.log(data)
в коде обновления, больше не появляется сообщение об ошибке, но когда я использую data=>{console.log(data);this.allData(data)}
, я получаю эту ошибку:
HTML: где я связываю данные:
<tbody *ngFor="let t of allDatas;let i= index">
<tr class="table-success" *ngIf="t && t.complited">
<td>{{t.task}}</td>
<td>{{t.date.year+"-"+t.date.month+"-"+t.date.day}}</td>
<td> {{t.complited}}</td>
<td>
<i class="fa fa-times-circle btn idelete" style="font-size:25px;" (click)="putTrue(t)"></i>
<i class="fa fa-edit btn iedit" style="font-size:25px;color:rgb(31, 12, 12)" (click)="editTodo(t)"></i>
<i class="fa fa-trash-o btn idelete" style="font-size:25px;" (click)="deleteTask(t.id)"></i>
</td>
</tr>
<tr class="table-danger" *ngIf="t && !t.complited">
<td>{{t.task}}</td>
<td>{{t.date.year+"-"+t.date.month+"-"+t.date.day}}</td>
<td> {{t.complited}}</td>
<td>
<i class="fa fa-check-circle btn idone" style="font-size:25px;" (click)="putTrue(t)"></i>
<i class="fa fa-edit btn iedit" style="font-size:25px;color:rgb(31, 12, 12)" (click)="editTodo(t)"></i>
<i class="fa fa-trash-o btn idelete" style="font-size:25px;" (click)="deleteTask(t.id)"></i>
</td>
</tr>
</tbody>
Итак, allDatas - это массив A:
JSON Данные: где выполняются все операции
[{"id":29,"task":"random 5","date":{"year":2020,"month":5,"day":9},"category":"genral","complited":false},null,{"id":31,"task":"task 32","date":{"year":2020,"month":5,"day":31},"category":"genral","complited":false}]
так что вкратце я получил ошибку, когда обновляю задачу и получаю обновленную задачу, но использую тот же метод для поста поставить другие данные я получаю идеальный результат
пожалуйста, кто-нибудь, помогите мне, я пытаюсь решить эту ошибку, так как очень долго ...