国产探花免费观看_亚洲丰满少妇自慰呻吟_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 語法糖在最新的開發工具中已經實現了,開啟增強編譯即可使用,具體更新內容請移步官方社區 微信小程序社區

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

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

圖片精選

主站蜘蛛池模板: 衡阳市| 抚远县| 筠连县| 巩义市| 柳州市| 洛扎县| 全南县| 乐安县| 斗六市| 白银市| 鸡泽县| 白玉县| 屏东市| 山西省| 始兴县| 太康县| 康定县| 道真| 阳高县| 松溪县| 西昌市| 广东省| 高平市| 赞皇县| 涞水县| 图木舒克市| 静安区| 沂源县| 巩留县| 兴安县| 曲沃县| 浪卡子县| 涪陵区| 乌兰浩特市| 巴林右旗| 鹤壁市| 东兴市| 五大连池市| 讷河市| 威宁| 安陆市|