欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

小程序Request的另類用法詳解

 更新時間:2019年08月09日 11:05:11   作者:TankCJZ  
這篇文章主要介紹了小程序Request的另類用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

前言

小程序中唯一能發(fā)送網(wǎng)絡(luò)請求接口數(shù)據(jù)的是wx.request接口,當(dāng)然這個接口存在諸多的限制,例如:10個并發(fā)請求限制,https限制(當(dāng)然在開發(fā)階段是可以關(guān)閉此限制),除了wx.request還有其他方法可以實現(xiàn)類型的功能嗎?當(dāng)然是有的,這個思路也源于我之前看到的一篇文章,隨便筆記下來

思路

使用云開發(fā)來發(fā)送網(wǎng)絡(luò)請求并把數(shù)據(jù)返回給小程序端。還不了解的云開發(fā)的同學(xué)請速度移步到官方【云開發(fā)
新建一個http的云函數(shù)

// 云函數(shù)入口文件
const cloud = require('wx-server-sdk')
const axios = require('axios')
cloud.init()
// 云函數(shù)入口函數(shù)
exports.main = async (event, context) => {
 const wxContext = cloud.getWXContext()
 const { method, url, data } = event;
 const res = await axios.request({
  method: method,
  url: url,
  data: data
 });
 return { code: 1, data: res.data } || {code: -1, msg: 'error', data: null}
}

小程序端二次封裝云函數(shù)調(diào)用

async http(options = {}) {
  return wx.cloud.callFunction({
    name: 'http',
    data: {
      method: options.method || 'GET',
      url: options.url || '',
      data: options.data || {}
    }
  }).then(res => {
    return res.result
  })
},

小程序端使用

async onLoad() {
  this.http({
   method: 'GET',
   url: 'https://www.baidu.com'
  }).then(res => {
   console.log(res)
  })
 },

總結(jié)

這種方法可以很好繞過https的限制,當(dāng)然這只是提供一個簡單的思路,我們可以進一步細(xì)一點封裝,包括配置header proxy 等等功能,其實原理就是借助云函數(shù)做了二次轉(zhuǎn)發(fā),性能上肯定比不上原生的request

注意

async 和 await 語法糖在最新的開發(fā)工具中已經(jīng)實現(xiàn)了,開啟增強編譯即可使用,具體更新內(nèi)容請移步官方社區(qū) 微信小程序社區(qū)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論