gpt4 book ai didi

angular - HTTP 请求未触发

转载 作者:太空狗 更新时间:2023-10-29 18:20:26 25 4
gpt4 key购买 nike

我是 Angular 的新手,正在观看视频教程来发出 HTTP 请求并获取响应数据。出于某种原因,我使用的代码没有触发 http.get。

import { Component, Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})

@Injectable()
export class AppComponent {

constructor( private http: Http ){
console.log('Until here works');
this.http.get('https://jsonplaceholder.typicode.com/posts').map(data => {
console.log('Finished');
console.log( data );
});
}

}

最佳答案

这是来自文档:

The http.get does not send the request just yet. This Observable is cold, which means that the request won't go out until something subscribes to the Observable.

有关更多信息和详细示例,请参阅此链接:https://angular.io/docs/ts/latest/guide/server-communication.html

这是一个具体的例子:

getProducts(): Observable<IProduct[]> {
return this._http.get(this._productUrl)
.map((response: Response) => <IProduct[]> response.json())
.do(data => console.log('All: ' + JSON.stringify(data)))
.catch(this.handleError);
}

然后这样订阅:

ngOnInit(): void {
this._productService.getProducts()
.subscribe(products => this.products = products,
error => this.errorMessage = <any>error);
}

关于angular - HTTP 请求未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43151908/

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