美文网首页ionic2实战
ionic2实战-重构HttpService

ionic2实战-重构HttpService

作者: 昵称已被使用_ | 来源:发表于2017-02-27 22:12 被阅读4858次

前言

  • 由于之前对Rxjs的Observable不熟悉,旧的HttpService使用Promise,经过学习发现Rxjs相对Promise强大很多,遂统一使用Rxjs

Promise 对比 Observable

代码

使用

  • 以前是构造函数注入Angular Http,现在注入HttpService,然后调用对应方法就行了
  //使用前
  constructor(public http: Http) {
  }
  //使用后
  constructor(public http: HttpService) {
  }

相关文章

网友评论

  • e3b2a22aeccf:@ ./node_modules/rxjs/observable/bindCallback.js 2:32-68
    @ ./node_modules/rxjs/add/observable/bindCallback.js
    @ ./node_modules/rxjs/Rx.js
    @ ./src/providers/HttpService.ts
    @ ./src/app/app.module.ngfactory.js
    @ ./src/app/main.ts,./node_modules/rxjs/observable/BoundNodeCallbackObservable.
    js
    Module build failed: TypeError: Cannot read property 'type' of undefined
  • e3b2a22aeccf:军哥,这个打包--prod的时候报HTTPService.ts的错误,里面的rxjs使用不规范怎么改呢?
  • 二千一:您好,我想请教一个问题。我项目的HttpService是学着您的方式封的,感谢大神分享。我现在有这样一个问题:POST提交表单测试,通过降低chrome安全策略的方式解决跨域后chrome测试能提交成功;真机测试,打包 Android 测试也是能提交的;但打包 iOS 就提交不了,请求发不出,打印返回的error是 {"_body":{"isTrusted":true},"status":0,"ok":false,"statusText":"","headers":{},"type":3,"url":null}。 试了很多方法都没能解决,不知道您有没有遇到过类似问题。
  • 青戟沉沙:你好,angular2 http是需要去哪里下载的吗?第一次接触,不了解
  • 差不多先生_2517:博主你好,我使用get然后进行分页获取数据,当我页面加载时候请求接口page=1获取第一页,然后当下拉刷新时候发现一直获取的都是第一页的值,我打印了请求的page=2,返回来的是1页的数据,请问这样怎么办 代码:
    getData(data,page){
    console.log(data);
    console.log(page);
    if(data.token =='' || data.token ==null || data.token == undefined){
    return this.httpService.get(APP_SEVER_URL+'/api/getApkList/?page='+page,data);
    }else {
    console.log(APP_SEVER_URL+'/api/getApkList/'+data.token+'?page='+page,data);
    return this.httpService.get(APP_SEVER_URL+'/api/getApkList/'+data.token+'?page='+page,data);
    }
    }
    差不多先生_2517:感谢博主帖子
    差不多先生_2517:博主我解决了,是我个人拼接问题:anguished:
  • coffice:POST json提交后台取不到数据
    coffice:@小军617 谢谢,解决了,后台项目问题(spring boot问题)
    昵称已被使用_:你先试试postFormData方法看是否可以
    昵称已被使用_:@coffice 在chrome控制台如果看到请求已经发出,并且参数地址正确.那就是后台的事了
  • 349e39e91fdf:使用你写的HttpService 后台没有接收到参数,怎么回事
    差不多先生_2517:该帖方法是可用的,我已经在用了
  • huiwen1208:请问作者,我的项目在安卓 web,都是没有问题的,在ios的话,http请求一直没有发起,没任何反应,求教一下,谢谢
    7249b62cf84a:小军,你好,这个版本会重复发送请求,旧版用event那种不会重复多次发送
    huiwen1208:@小军617 好的谢谢
    昵称已被使用_:@huiwenTT 你这只能调试了,iPhone连接iMac,在safari中调试
  • 阿峰:博主,请问请求超时应该怎么处理呢?
  • Lem0nNat1on:你好,麻烦问下,你的请求超时怎么处理的,
  • 208859ee915c:请问能跨域请求吗? 我的项目是Ionic2
    208859ee915c:可以请教你个问题吗 我在一个页面请求到服务端的数据 但是我需要在其他页面使用 这关系到全局的问题 楼主 初次使用ionic2 请多指教 。。
    208859ee915c:@小军617 感谢
    昵称已被使用_:@Iamaroundyou http://www.jianshu.com/p/230b606e1ace
  • 0351b02fdce7:收藏了,谢谢大神:kissing_heart:
  • 我必不弃:postFormData的使用方法是什么样的啊?
    我必不弃:@小军617 嗯
    昵称已被使用_:不同请求头和后台接口接受参数设置有关
    昵称已被使用_: angular post请求默认的请求头是application/json;
    postFormData设置请求头为application/x-www-form-urlencoded;这种请求头类似jquery ajax
    默认的请求头

本文标题:ionic2实战-重构HttpService

本文链接:https://www.haomeiwen.com/subject/jxjtgttx.html