respone.json())"和 "map((respone) =>{ respone.json();})"之间的区别-6ren"> respone.json())"和 "map((respone) =>{ respone.json();})"之间的区别-这个问题已经有答案了: Curly Brackets in Arrow Functions (3 个回答) 已关闭 5 年前。 这里是源代码: export class PostComponent i-6ren">
gpt4 book ai didi

javascript - "map((respone) => respone.json())"和 "map((respone) =>{ respone.json();})"之间的区别

转载 作者:行者123 更新时间:2023-11-28 14:44:28 24 4
gpt4 key购买 nike

这里是源代码:

export class PostComponent implements OnInit {

posts: any[];

constructor(private http: Http, private service: PostService) {
}
getAll1() {
const url = 'http://jsonplaceholder.typicode.com/posts';
this.http.get(url)
.map((respone) => respone.json())
.subscribe(posts => this.posts = posts );
}
}

`

它工作正常,但如果我为“respone.json”添加大括号,则可视 stdio 代码会提示错误(见下文)。添加大括号后,源代码如下:

export class PostComponent implements OnInit {

posts: any[];

constructor(private http: Http, private service: PostService) {
}
getAll1() {
const url = 'http://jsonplaceholder.typicode.com/posts';
this.http.get(url)
.map((respone) => {respone.json();})
.subscribe(posts => this.posts = posts );
}
}

错误出现在最后一行的单词“this.posts”上,错误是:[ts]类型“void”不能分配给类型“any[]”。

为什么?

最佳答案

.map((respone) => respone.json()) 实际上与此相同:

.map((respone) => { return respone.json() })

虽然 .map((respone) => { respone.json() }) 与此类似:

.map((respone) => { respone.json(); return undefined; })

因此,在第二个代码块中,respone.json() 被忽略。

关于javascript - "map((respone) => respone.json())"和 "map((respone) =>{ respone.json();})"之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46899169/

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