国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 小程序 > 正文

小程序Request的另類用法詳解

2020-03-21 15:26:05
字體:
來源:轉載
供稿:網友

前言

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

思路

使用云開發來發送網絡請求并把數據返回給小程序端。還不了解的云開發的同學請速度移步到官方【云開發】
新建一個http的云函數

// 云函數入口文件const cloud = require('wx-server-sdk')const axios = require('axios')cloud.init()// 云函數入口函數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}}

小程序端二次封裝云函數調用

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)  }) },

總結

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

注意

async 和 await 語法糖在最新的開發工具中已經實現了,開啟增強編譯即可使用,具體更新內容請移步官方社區 微信小程序社區

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安溪县| 曲沃县| 互助| 定襄县| 永康市| 汾西县| 东台市| 千阳县| 凭祥市| 海林市| 五家渠市| 西乌珠穆沁旗| 岱山县| 阳谷县| 白朗县| 合川市| 独山县| 双桥区| 嵊州市| 定边县| 丹东市| 仙桃市| 普陀区| 万山特区| 长丰县| 闻喜县| 义马市| 松桃| 威宁| 镇安县| 泾阳县| 尉犁县| 霍林郭勒市| 搜索| 河东区| 册亨县| 克山县| 浏阳市| 易门县| 灵台县| 石嘴山市|