封装ng2的Http请求

    xiaoxiao2021-03-25  93

    需求描述:http请求的url格式都是’http://debug.xxx.com‘+’/url’,在请求之前显示loading,在请求结束隐藏loading 目前只封装了get,其他请求类似,后期再补充

    MyHttp.ts

    import {Injectable} from '@angular/core'; import {Http} from '@angular/http'; import 'rxjs/Rx'; @Injectable() export class MyHttp { public restServer; public http; constructor(Http:Http) { this.http = Http; this.restServer = 'http://debug.xxx.com' } public get(url, params?:Object, cb?:Function) { console.log('开始请求') var vm = this; var searchParams = ''; if (params) { for (var key in params) { searchParams += key + '=' + params[key]; } } vm.http.get(vm.restServer + url, { search: searchParams }) .map(res => res.json()) .subscribe(data => { console.log('请求结束', data) cb(data) }); } }

    在组件中调用MyHttp demo.ts

    import {MyHttp} from './../service/MyHttp'; @Component({ selector: 'demo', templateUrl: './demo.html', providers: [MyHttp] }) export class Demo { constructor(MyHttp:MyHttp) { MyHttp.get('/url', {}, function (data) { console.log('结果', data) }); } }

    转载请注明原文地址: https://ju.6miu.com/read-22798.html

    最新回复(0)