后一个 request 如何调用前一个 request数据的问题?

小程序 文章 2020-08-06 22:21 707 0 全屏看文

AI助手支持GPT4.0

后一个 request 如何调用前一个 request数据的问题?How to call the data of the previous request in the next request?

后一个 request 如何调用前一个 request数据的问题?

我的小程序页面有两个 request,前一个发送到平台调用 钥 ,获取密钥之后该怎么将密钥反馈进下一个request 的header 里面作为输入的数据?


My applet page has two requests. The first one is sent to the platform call key. After obtaining the key, how can I feed the key back into the header of the next request as input data?

回答:

宋佳耀:

小程序的请求都是异步的,无法通过属性设置为同步。所以你可以:

1、把第二个请求放到第一个请求的success里写。

2、通过封装callback回调方法的方式,把第二次请求放到第一次请求的回调中执行

3、通过引入Promise, async 以及 await的方式同步.

จุ๊บ:

前一个 request 的success 方法里面 写下一个request

o0o有脾气的酸奶:

重写wx.request,多加一个参数token,参数token为true时会获取缓存的token,缓存token不存在则会先请求获取token,再携带token请求业务接口

// utils/overWrite.jslet { request } = wxObject.defineProperty(wx, 'request', {  async value(p){    if(p.token){      delete p.token      // 从globalData或缓存中取token,这里以缓存为例      var token = wx.getStorageSync('x-auth-token') || ''      if(!token){        // 不存在token,则请求获取token        var res = await new Promise((rs, rj)=>{          request({            url:'这里填写你的token获取地址',            successres=>rs(res),            failee=>rj(e),          })        })        // 假设返回结果为{token:'xxxxxxxxxxxxx'}        console.log(res)        token = res.data.token || ''        if(token){          // 存于globalData或缓存中,这里以缓存为例          wx.setStorageSync('x-auth-token', token)        }else{          console.error('获取token失败')        }      }      // 合并header      p.header = Object.assign(p.header || {}, {'X-Auth-Token':token})            return request.call(this, p)    }  }})


在app.js头部引用overWrite.js

require('./utils/overWrite')App({  onLaunchfunction () {}})


在页面中使用

// pages/index/index.jsPage({  onLoad: function () {        // 普通请求,不需要token    wx.request({      url'你的业务接口地址'    })        // 需要带token请求    wx.request({      token:!0,      url'你的业务接口地址'    })  },})

若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

-EOF-

AI助手支持GPT4.0


国内超级便宜服务器

摸鱼人热门新闻聚合

钻级赞助商 我要加入

开发者在线工具

第三方支付技术请加QQ群

相关文章
订单详情无法打开, 提示火爆,
急!累计独立访客(UV)已过1000,无违规情况,但是流量主开通还是显示灰色?anxious! The cumulative number of unique visitors (UV) has exceeded 1000 and there is no violation, but the traffic master is still displayed in gray?
如何认证微信公众号自带的小程序?
急!急!急!短信跳转小程序可以吗?
新版本授权手机号支持的微信最低版本是多少
随便看看
企业微信通讯录账号被管理员误/恶意删除,怎么办? 9568
问题? 9048
如何快速搭建抽奖助手小程序(无需代码知识) 6177
许涛 大哥在吗, 要解冻小程序的时候提示信息主体不一致, 能帮忙看下吗? 7472
小程序搜一搜全称搜索不显示 麻烦解决一下!谢谢 6793
我的小程序广告收款主体是个体工商户,每个月邮寄两次发票很是麻烦,我年底的时候打包邮寄一次可以么? 6128
如何解决渲染层网络错误Failed to load media? 17394
小程序找号找回 释放昵称? 3253
我的小程序广告主收入5301,实际进账4406,是怎么回事呀? 3108
删除部分微信用户个人数据的通知,怎么删除? 6381