请教如何用 wx.request值传递给下一个wx.request?
发布于 5 年前 作者 zxu 13793 次浏览 来自 官方Issues

微信小程序,我想把 wx.request出来的token值,作为参数传递给下一个wx.request用来获取文件上传的链接,我是小白,该如何写啊?
如下写第二个wx.request拿不到token,无法查找到文件上传链接。
多谢多谢,万分感谢!
gettoken: function () {
    wx.request({
      url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET’,
      header: {
        ‘content-type’: ‘application/json’ // 默认值
      },
         //success(res) {
          // console.log(res.data)
         //}
    }),
     wx.request({
      url: 'https://api.weixin.qq.com/tcb/uploadfile?access_token=res.data’,
      header: {
        ‘content-type’: ‘application/json’ // 默认值
      },
      success(res) {
        console.log(res.data)
     }
    })
  }

7 回复

你这样写法就异步了

gettoken: function () {


    wx.request({


      url: ‘https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET’,


      header: {


        ‘content-type’: ‘application/json’ // 默认值


      },


         success(res) {


     wx.request({


      url: ‘https://api.weixin.qq.com/tcb/uploadfile?access_token=’+res.data,


      header: {


        ‘content-type’: ‘application/json’ // 默认值


      },


      success(res) {


        console.log(res.data)


     }


    })


         }


    }),



  }

不过不建议在客户端取token,服务端

https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/access-token/auth.getAccessToken.html

方法1   第二个wx.request放在第一个的success里面

方法二 异步改同步  async  await

自己用promise封装request

把wx.request用promise封装然后用async await ,不建议多重回调,可读性差.

promise callback      (setTimeout)

第二个request嵌套在第一个的success里面用

回到顶部