Skip to content

Instantly share code, notes, and snippets.

@medeirosjoaquim
Forked from azarus/Request.ts
Created March 27, 2019 12:35
Show Gist options
  • Save medeirosjoaquim/b2d6085443b1fdc30cfcebee9ecda170 to your computer and use it in GitHub Desktop.
Save medeirosjoaquim/b2d6085443b1fdc30cfcebee9ecda170 to your computer and use it in GitHub Desktop.
SIMPLE AND EASY HTTP REQUESTS IN ANGULAR2! GET A PROMISE AND USE IT EASILY!
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import { Config } from '../Config';
import { Observable } from 'rxjs/Observable';
import 'rxjs/Rx';
@Injectable()
export class Request {
constructor(public http: Http)
{
}
get(url): Promise<any>
{
return this.http.get(Config.baseUrl + url).map(response => {
return response.json() || {success: false, message: "No response from server"};
}).catch((error: Response | any) => {
return Observable.throw(error.json());
}).toPromise();
}
post(url, data): Promise<any>
{
return this.http.post(Config.baseUrl + url, data).map(response => {
return response.json() || {success: false, message: "No response from server"};
}).catch((error: Response | any) => {
return Observable.throw(error.json());
}).toPromise();
}
}
import { Request } from "./Request";
authenticate()
{
this.request.get("/user").then(response => {
console.log("Got response:", response);
}).catch(error => {
console.log("Got error:", error);
}).then(response => {
console.log("Another response:", response);
}).catch(error => {
console.log("Got another error:", error);
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment