收藏
回答

请教用 await 操作符调用一个 API 的返回值的问题?

请问有没有人遇到过,用 await 调用微信的一些 API 时,返回值有点怪,例如 wx.getSystemInfo() 或者 wx.getUserProfile(),有时候会返回正确的结果的对象;有时候会返回一个数组,[null, 结果对象],数组的第一个值一定是 null。

请问是不支持 await 这种调用方式吗?非要用链式回调吗?

回答关注问题邀请回答
收藏

1 个回答

  • 微信开发者生态产品经理-zirali
    微信开发者生态产品经理-zirali
    06-13

    建议你贴个代码片段出来,看看你的写法。wx.getSystemInfo()支持await,wx.getUserProfile()只有回调

    06-13
    有用
    回复 5
    • Zach
      Zach
      06-13
      原来不是所有的这种接口都能用 await?我的代码也没有特别的,就是调用 wx.getUserProfile() 的时候,然后用 console.log 记录返回值,这个返回值有时是对象,有时是数组,就很奇怪。这跟我用 uniapp 有关系吗?
      06-13
      回复
    • 微信开发者生态产品经理-zirali
      微信开发者生态产品经理-zirali
      06-13回复Zach
      uniapp可能会二次包装一下,具体的可以看下uniapp的生成的源码
      06-13
      回复
    • 微信开发者生态产品经理-zirali
      微信开发者生态产品经理-zirali
      06-13
      不是所有的这种接口都能用 await,await是ES8的语法糖,用于等待一个promise对象解决,wx.getUserProfile()函数本身没有任何返回,它会在获取到异步信息后,调用你传进来的success或fail函数。
      06-13
      回复
    • 微信开发者生态产品经理-zirali
      微信开发者生态产品经理-zirali
      06-13回复Zach
      听你的uniapp和帖子里的描述,貌似uniapp给包装了一下,这个应该问uniapp官方了
      06-13
      回复
    • Zach
      Zach
      06-13回复微信开发者生态产品经理-zirali
      好的,感谢
      06-13
      回复
登录 后发表内容