武装少女在线观看高清完整版免费,丝袜+亚洲区,少妇被cao高潮呻吟声,午夜伦情电午夜伦情电影,日日躁夜夜躁狠狠躁

小程序模板網(wǎng)

強烈推薦:支持Vue家族全系框架的跨平臺http請求庫-fly.js

發(fā)布時間:2018-05-08 11:01 所屬欄目:小程序開發(fā)教程
Fly.js 一個基于Promise的、強大的、支持多種JavaScript運行時的http請求庫. 有了它,您可以使用一份http請求代碼在瀏覽器、微信小程序、Weex、Node中都能正常運行。同時可以方便配合 Vue家族的框架,最大可能的實現(xiàn) Write Once Run Everywhere。

Github: https://github.com/wendux/fly

問題

隨著 Weex 、mpvue 的發(fā)布,他們都是支持Vue.js語法。目前vue已經(jīng)你能夠運行在瀏覽器、小程序和Native了。盡管各個平臺仍有差異,但已經(jīng)基本能實現(xiàn) Write Once Run Everywhere 。這使得我們可以在多個端上實現(xiàn)盡可能大限度在代碼復(fù)用。但是無論是 vue 還是Weex 、mpvue,它們本質(zhì)上都只是一個View層,也就說最好的情況,也只能實現(xiàn)UI復(fù)用。但對于一個應(yīng)用程序來說,除了UI,最重要的就是數(shù)據(jù)了,而數(shù)據(jù)來源一般都是來自網(wǎng)絡(luò)請求(大多數(shù)都是http)。在使用這些框架時,您的網(wǎng)絡(luò)請求,都需要使用平臺特定的API!這很糟糕,意味著您網(wǎng)絡(luò)請求的代碼不能復(fù)用,所以盡管UI可以復(fù)用,但我們還需要去適配網(wǎng)絡(luò)請求部分的代碼。

一致的網(wǎng)絡(luò)請求

要解決這個問題,就需要一個能支持多個平臺網(wǎng)絡(luò)庫,用戶層提供統(tǒng)一的API,將平臺差異在底層屏蔽。而 Fly.js就是這醬紫的一個網(wǎng)絡(luò)庫,為了方便axios使用者遷移,fly.js API設(shè)計風(fēng)格和axios相似(但不完全相同)!

Fly.js 通過在不同 JavaScript 運行時通過在底層切換不同的 Http Engine來實現(xiàn)多環(huán)境支持,但同時對用戶層提供統(tǒng)一、標準的Promise API。不僅如此,F(xiàn)ly.js還支持請求/響應(yīng)攔截器、自動轉(zhuǎn)化JSON、請求轉(zhuǎn)發(fā)等功能,詳情請參考:https://github.com/wendux/fly

已支持的平臺

目前Fly.js支持的平臺包括:Node.js 、微信小程序 、Weex 和瀏覽器,這些平臺的 JavaScript 運行時都是不同的。更多的平臺正在持續(xù)添加中,請保持關(guān)注。

Fly簡單使用示例

下面示例如無特殊說明,則在所有支持的平臺下都能執(zhí)行。

發(fā)起GET請求

//不同平臺可能需要引入不同文件,詳情見文檔
var fly=require("flyio")

//通過用戶id獲取信息,參數(shù)直接寫在url中
fly.get('/user?id=133')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

//query參數(shù)通過對象傳遞
fly.get('/user', {
      id: 133
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
});

發(fā)起POST請求

fly.post('/user', {
    name: 'Doris',
    age: 24
    phone:"18513222525"
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

發(fā)起多個并發(fā)請求

function getUserRecords() {
  return fly.get('/user/133/records');
}

function getUserProjects() {
  return fly.get('/user/133/projects');
}

fly.all([getUserRecords(), getUserProjects()])
  .then(fly.spread(function (records, projects) {
    //兩個請求都完成
  }))
  .catch(function(error){
    console.log(error)
  })

攔截器

Fly支持請求/響應(yīng)攔截器,可以通過它在請求發(fā)起之前和收到響應(yīng)數(shù)據(jù)之后做一些預(yù)處理。


//添加請求攔截器
fly.interceptors.request.use((request)=>{
    //給所有請求添加自定義header
    request.headers["X-Tag"]="flyio";
      //打印出請求體
      console.log(request.body)
      //終止請求
      //var err=new Error("xxx")
      //err.request=request
      //return Promise.reject(new Error(""))
  
    //可以顯式返回request, 也可以不返回,沒有返回值時攔截器中默認返回request
    return request;
})

//添加響應(yīng)攔截器,響應(yīng)攔截器會在then/catch處理之前執(zhí)行
fly.interceptors.response.use(
    (response) => {
        //只將請求結(jié)果的data字段返回
        return response.data
    },
    (err) => {
        //發(fā)生網(wǎng)絡(luò)錯誤后會走到這里
        //return Promise.resolve("ssss")
    }
)

除過以上這些使用,F(xiàn)ly.js 還有很多其它強大的功能,詳情請移步Fly.js.

反饋


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.kknew.com.cn/wxmini/doc/course/24317.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢: 點擊咨詢
在線客服
易小優(yōu)
轉(zhuǎn)人工 ×