weixin_53351368 2022-06-12 14:43 采纳率: 78.6%
浏览 58
已结题

关于#前端#的问题:需要先获取code再执行下面的请求,结果还未获取到code就执行了请求

需要先获取code再执行下面的请求,结果还未获取到code就执行了请求,请问异步要怎么写才对

img

img

  • 写回答

4条回答 默认 最新

  • 林一怂儿 新星创作者: 前端开发技术领域 2022-06-13 08:46
    关注

    可以写这样试试看~

    Page({
      onLoad() {
        // 获取code
        const getCode = new Promise((resolve) => {
          wx.login({
            success: (res) => {
              resolve(res.code);
            }
          })
        })
        // 请求获取openId
        const getOpenId = (code) => {
          return new Promise((resolve) => {
            wx.request({
              method: 'GET',
              url: '',
              data: {
                appid: '11',
                js_code: code,
                // ...
              },
              success: (res) => {
                resolve(res.data)
              }
            })
          })
        }
        // 调用
        getCode.then(code => {
          console.log(code);
          return getOpenId(code);
        }).then(res => {
          console.log(res);
        }).catch(err => {
          console.log(err);
        })
      },
    })
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 7月5日
  • 已采纳回答 6月27日
  • 创建了问题 6月12日