获取请求失败angular2
get request fail angular2
我创建了应该发送带有 1 个参数的获取请求的网络服务,
我应该从 API,
得到结果
NetworkServices.ts
import { Injectable } from '@angular/core';
import {Http} from "@angular/http";
@Injectable()
export class NetworkServices{
constructor(public http:Http){
}
getCurrency(obj){
console.log("function fired!")
let url = 'http://api.fixer.io/latest?base='+obj.selectedCurrency;
console.log(obj);
this.http.get(url)
.toPromise()
.then( (res) => {
return res;
}
)
}
}
结果应该在 res,这是 3 周前的工作,我不知道 angular 如何更改嘿..
错误代码是:
[19:46:04] transpile update started ...
[19:46:06] typescript: D:/ionic/firstApp/src/services/network.ts, line: 25
Property 'toPromise' does not exist on type 'Observable<Response>'.
L24: return this.http.get(url).toPromise();
[19:46:06] transpile update failed L25:
}
[19:46:06] watch ready
希望你们能解决这个问题:)
您的方法没有 return 任何东西,then 回调除了将一个 Promise<Response>
转换为另一个 Promise<Response>
之外没有做任何事情。所以你的整个方法基本上是一个空洞。
代码大概应该是这样的
getCurrency(obj){
console.log("function fired!")
let url = `http://api.fixer.io/latest?base=${obj.selectedCurrency}`;
console.log(obj);
return this.http.get(url).toPromise();
}
或者,如果您想 return 一个包含 json 响应正文而不是响应本身的承诺
getCurrency(obj){
console.log("function fired!")
let url = `http://api.fixer.io/latest?base=${obj.selectedCurrency}`;
console.log(obj);
return this.http.get(url).toPromise().then(res => res.json());
}
关于你的编译错误,需要引入toPromise操作符:
import 'rxjs/add/operator/toPromise';
您需要添加
import 'rxjs/add/operator/toPromise'
我创建了应该发送带有 1 个参数的获取请求的网络服务, 我应该从 API,
得到结果NetworkServices.ts
import { Injectable } from '@angular/core';
import {Http} from "@angular/http";
@Injectable()
export class NetworkServices{
constructor(public http:Http){
}
getCurrency(obj){
console.log("function fired!")
let url = 'http://api.fixer.io/latest?base='+obj.selectedCurrency;
console.log(obj);
this.http.get(url)
.toPromise()
.then( (res) => {
return res;
}
)
}
}
结果应该在 res,这是 3 周前的工作,我不知道 angular 如何更改嘿..
错误代码是:
[19:46:04] transpile update started ...
[19:46:06] typescript: D:/ionic/firstApp/src/services/network.ts, line: 25
Property 'toPromise' does not exist on type 'Observable<Response>'.
L24: return this.http.get(url).toPromise();
[19:46:06] transpile update failed L25:
}
[19:46:06] watch ready
希望你们能解决这个问题:)
您的方法没有 return 任何东西,then 回调除了将一个 Promise<Response>
转换为另一个 Promise<Response>
之外没有做任何事情。所以你的整个方法基本上是一个空洞。
代码大概应该是这样的
getCurrency(obj){
console.log("function fired!")
let url = `http://api.fixer.io/latest?base=${obj.selectedCurrency}`;
console.log(obj);
return this.http.get(url).toPromise();
}
或者,如果您想 return 一个包含 json 响应正文而不是响应本身的承诺
getCurrency(obj){
console.log("function fired!")
let url = `http://api.fixer.io/latest?base=${obj.selectedCurrency}`;
console.log(obj);
return this.http.get(url).toPromise().then(res => res.json());
}
关于你的编译错误,需要引入toPromise操作符:
import 'rxjs/add/operator/toPromise';
您需要添加
import 'rxjs/add/operator/toPromise'