我在Angular中可以拥有的最基本且最令人头疼的休息实现是什么?
我已经厌倦了这个:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss']
})
export class HomeComponent implements OnInit {
restCall(term:string, id:string) {
let promise = new Promise((resolve, reject) => {
let apiURL = `http://localhost:3000/todos$/{term}/${id}`;
this.http.get(apiURL)
.toPromise()
.then(
res => { // Success
this.results = res.json().results;
resolve();
},
msg => { // Error
reject(msg);
}
);
});
return promise;
}
}
后面是这样的setrp:localhost:3000 / todos 可能的调用:get,get / id,post,put / id,delete / id
我想通过这个网址http://localhost:3000/todos/${term}/${id}
我将所有剩余的调用重构为一种方法。
我所有的快乐都停在这里:
我是完全关闭还是走错路?
答案 0 :(得分:2)
在角度2或更高的角度,我在服务中添加所有的http调用。但要修复错误,你应该试试这个。
import { Component, OnInit } from '@angular/core';
import { Http } from '@angular/http';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss']
})
export class HomeComponent implements OnInit {
results: any;
constructor(private http: Http) { }
restCall(term:string, id:string) {
let promise = new Promise((resolve, reject) => {
let apiURL = `http://localhost:3000/todos$/{term}/${id}`;
this.http.get(apiURL)
.toPromise()
.then(
res => { // Success
this.results = res.json().results;
resolve();
},
msg => { // Error
reject(msg);
}
);
});
return promise;
}
}
我导入了Http服务并在构造函数中声明它。 结果变量不是局部变量,因此您应该在构造函数之前声明它。