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

首頁 > 語言 > JavaScript > 正文

小程序Request的另類用法詳解

2024-05-06 15:36:01
字體:
來源:轉載
供稿:網友

前言

小程序中唯一能發送網絡請求接口數據的是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 語法糖在最新的開發工具中已經實現了,開啟增強編譯即可使用,具體更新內容請移步官方社區 微信小程序社區

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 石城县| 托克逊县| 行唐县| 乐山市| 洛南县| 英山县| 栾城县| 电白县| 苍梧县| 南通市| 德清县| 佛山市| 蓬安县| 会宁县| 宣城市| 宜丰县| 中江县| 北京市| 呼玛县| 松阳县| 铅山县| 成安县| 蓬莱市| 陇南市| 旺苍县| 长治市| 洛阳市| 金塔县| 凤阳县| 桃江县| 大宁县| 阿拉善盟| 嵩明县| 彝良县| 余庆县| 吴忠市| 合川市| 龙江县| 海伦市| 卢湾区| 东兰县|