国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ionic3 教程(五)基本的網(wǎng)絡(luò)請求

MudOnTire / 1648人閱讀

摘要:鏈接教程一安裝和配置教程二登錄頁制作教程三設(shè)置頁制作教程四安卓硬件返回鍵處理教程五基本的網(wǎng)絡(luò)請求這是最后一節(jié),本節(jié)主要用最簡單網(wǎng)絡(luò)請求和基本的內(nèi)置指令做一個(gè)演示。接收數(shù)據(jù)用依賴注入網(wǎng)絡(luò)請求會(huì)返回一個(gè)對象。

鏈接:
ionic3教程(一)安裝和配置
ionic3教程(二)登錄頁制作
ionic3教程(三)設(shè)置頁制作
ionic3教程(四)安卓硬件返回鍵處理
ionic3 教程(五)基本的網(wǎng)絡(luò)請求

這是最后一節(jié),本節(jié)主要用最簡單網(wǎng)絡(luò)請求和基本的內(nèi)置指令做一個(gè)演示。

對 Angular 的基本架構(gòu)不熟悉的請點(diǎn)Angular 4.0 架構(gòu)詳解

對 Angular 的內(nèi)置指令不熟悉的請點(diǎn)Angular 4.0 內(nèi)置指令全攻略

前言

通常我們希望在 HTTP 請求的時(shí)候,頁面不會(huì)失去響應(yīng),所以我們的 HTTP 請求是異步的。
JavaScript 中,通常用 3 種方式處理異步代碼。

回調(diào)(callback)

承諾(promise)

可觀察對象(observable)

promise 和 observable 主要三個(gè)主要不同:

observable 可以中途取消,promise 發(fā)出就不行

observable 可以持續(xù)發(fā)射很多值,而 promise 只能發(fā)射一個(gè)值就結(jié)束了

observable 提供了更多的工具函數(shù),最常用的是 filter 等

想更多了解 promise 的請看
《JavaScript Promise迷你書》

想更多了解 rxjs(observable) 的請看
《rxjs中文教程》

在 Angular 中,處理異步代碼的最佳方式就是使用可觀察對象,所以接下來會(huì)用到

app.module.ts

導(dǎo)入 Angular 的 HttpModule。

import { HttpModule } from "@angular/http";

//然后在 imports 中插入 HttpModule 即可
測試用接口

本來找了一些別的接口作為測試,發(fā)現(xiàn)不會(huì)顯示數(shù)據(jù),打開 Chrome 測試了一下發(fā)現(xiàn)有跨域問題。

XMLHttpRequest cannot load

所以這里給大家推薦個(gè)網(wǎng)站,我們就用他來進(jìn)行測試。
http://jsonplaceholder.typico...

拖到下面的 Resources 可以看到圖片。從圖中可以看出接口種類還是比較豐富的,我們選擇帶圖片的 /photos 進(jìn)行測試。

home.ts
import { Http, Response } from "@angular/http";

@Component({
  selector: "page-home",
  templateUrl: "home.html"
})
export class HomePage {
  // 接收數(shù)據(jù)用
  listData: Object;

  // 依賴注入
  constructor(public navCtrl: NavController, private http: Http) {

  }

  ionViewDidLoad() {
    // 網(wǎng)絡(luò)請求
    this.http.request("http://jsonplaceholder.typicode.com/photos")
    .subscribe((res: Response) => {
      this.listData = res.json();
    });
  }

http.request 會(huì)返回一個(gè) Observable 對象。我們可以使用 subscribe 訂閱變化。

當(dāng) http.request 從服務(wù)器返回一個(gè)流時(shí),它就會(huì)發(fā)出一個(gè) Response 對象。我們用 json 方法提取出響應(yīng)體解析成一個(gè) Object,最后將它賦值給 this.listData。

home.html

  
    首頁
  



  
    
      
        
      
      {{item?.title}}
    
  

這里使用了一個(gè) ngFor 遍歷了 listData,生成了一個(gè)列表數(shù)據(jù)。還有一點(diǎn)要提一下,這個(gè) item?.title 是 Angular 的一種語法,如果對象為空就不會(huì)取值,可以防止報(bào)錯(cuò)。

最后效果如圖所示

再補(bǔ)上一個(gè) Promise 的寫法

import "rxjs/add/operator/toPromise";

this.http.request("http://jsonplaceholder.typicode.com/photos")
  .toPromise()
  .then(res => { this.listData = res.json(); })
  .catch(err => { console.error(err) });

自己動(dòng)手試一試吧。這個(gè)入門系列結(jié)束之后,應(yīng)該會(huì)去找一些模塊進(jìn)行深入點(diǎn)的展開。

Demo下載地址

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/84817.html

相關(guān)文章

  • ionic3 教程基本網(wǎng)絡(luò)請求

    摘要:鏈接教程一安裝和配置教程二登錄頁制作教程三設(shè)置頁制作教程四安卓硬件返回鍵處理教程五基本的網(wǎng)絡(luò)請求這是最后一節(jié),本節(jié)主要用最簡單網(wǎng)絡(luò)請求和基本的內(nèi)置指令做一個(gè)演示。接收數(shù)據(jù)用依賴注入網(wǎng)絡(luò)請求會(huì)返回一個(gè)對象。 showImg(https://segmentfault.com/img/remote/1460000010805290); 鏈接: ionic3教程(一)安裝和配置 ionic...

    bbbbbb 評(píng)論0 收藏0
  • 【響應(yīng)式編程思維藝術(shù)】 (5)Angular中Rxjs應(yīng)用示例

    摘要:本文是響應(yīng)式編程第四章構(gòu)建完整的應(yīng)用程序這篇文章的學(xué)習(xí)筆記。涉及的運(yùn)算符每隔指定時(shí)間將流中的數(shù)據(jù)以數(shù)組形式推送出去。中提供了一種叫做異步管道的模板語法,可以直接在的微語法中使用可觀測對象示例五一點(diǎn)建議一定要好好讀官方文檔。 本文是【Rxjs 響應(yīng)式編程-第四章 構(gòu)建完整的Web應(yīng)用程序】這篇文章的學(xué)習(xí)筆記。示例代碼托管在:http://www.github.com/dashnoword...

    shenhualong 評(píng)論0 收藏0
  • LeanCloud + Ionic3 迅速重構(gòu)應(yīng)用

    摘要:的數(shù)據(jù)強(qiáng)制刷新由于的數(shù)據(jù)綁定與更新策略,有時(shí)取回?cái)?shù)據(jù)時(shí)數(shù)據(jù)并不能引起頁面的變更,這時(shí)候就需要強(qiáng)制刷新頁面綁定的數(shù)據(jù)了。這次重構(gòu)差不多就用了四天的時(shí)間,寫了個(gè)個(gè)個(gè),按時(shí)交活兒希望本文可以在小應(yīng)用的快速構(gòu)建上給大家一個(gè)參考 作者:李宜棟 ??【 玩轉(zhuǎn) LeanCloud 】開發(fā)者經(jīng)驗(yàn)分享: 學(xué)校有一個(gè)高考志愿填報(bào)的應(yīng)用需要重構(gòu),之前的實(shí)現(xiàn)是通過構(gòu)建 Laravel RESTful API ...

    geekidentity 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<