gpt4 book ai didi

javascript - 为什么向 Observable 添加属性时会出现 TypeError

转载 作者:行者123 更新时间:2023-12-01 02:26:28 26 4
gpt4 key购买 nike

在我的 Angular 4 应用程序中订阅并分配响应后,我尝试在 Observable 上添加属性。

getCourses() {
return this.coursesService.getCourses().subscribe(
res => {
this.courses = res;
for (const course of this.courses) {
course.isChecked = false;
}
}
);
}

代码可以工作并在 Observable 上创建属性,但我也收到以下错误。

ERROR TypeError: Cannot create property 'isChecked' on boolean 'false' at SafeSubscriber._next at SafeSubscriber.webpackJsonp.../../../../rxjs/Subscriber.js.SafeSubscriber.__tryOrUnsub

如何更正代码以免出现错误?

解决了!!!

所以我没有意识到 api 返回的对象数组的末尾是 false。

[{ "PersonID": "129", "FirstName": "Ash", "MiddleName": "E.", "LastName": "Green", "MemberID": "129346", "MemberNumber": "105", "MemberStatus": 2, "AffiliatedAgencyID": "160"}, { "PersonID": "221334", "FirstName": "Abs", "MiddleName": null, "LastName": "Plast", "MemberID": "1953", "MemberNumber": "2047", "MemberStatus": 1, "AffiliatedAgencyID": "13"}, false]

一旦我创建了一个 if 语句来解释最后的错误,我的问题就得到了解决。我得到的另一个物体没有这种异常现象。所以这并没有发生。

最佳答案

如果 res 是一个数组,您应该能够毫无问题地遍历它。但请确保 res 是一个数组。

getCourses() {
return this.coursesService.getCourses()
.subscribe(res => this.courses = res.map(course => course.isChecked = false));
}

关于javascript - 为什么向 Observable 添加属性时会出现 TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48754884/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com