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

小程序 文章 2020-08-06 22:21 614 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群

相关文章
公众号的法人扫脸认证环节出现“请使用指定微信用户进行扫码认证”?
根据接口返回的图片path,请求图片资源,但是无法访问?
个人开发小程序的盈利方式,是开通流量主广告还是用户注册会员?
微信小程序要想长期给用户推送消息,有什么好办法?
微信小程序如何跳转到h5实现支付功能?
随便看看
企业微信通讯录账号被管理员误/恶意删除,怎么办? 8541
问题? 8260
如何快速搭建抽奖助手小程序(无需代码知识) 5323
许涛 大哥在吗, 要解冻小程序的时候提示信息主体不一致, 能帮忙看下吗? 6592
小程序搜一搜全称搜索不显示 麻烦解决一下!谢谢 5876
我的小程序广告收款主体是个体工商户,每个月邮寄两次发票很是麻烦,我年底的时候打包邮寄一次可以么? 5534
如何解决渲染层网络错误Failed to load media? 16778
小程序找号找回 释放昵称? 2793
我的小程序广告主收入5301,实际进账4406,是怎么回事呀? 2661
删除部分微信用户个人数据的通知,怎么删除? 5838