onLaunch 和 onShow获取到的场景值都是上一次的场景值

问题遇到的现象和发生背景

我想拿到小程序扫码进入的场景值。清除缓存后第一次扫码进入场景值是1001,第二次再进入才是1047(onLaunch 去掉 async 也是一样)

问题相关代码,请勿粘贴截图
async onLaunch(options) {
    if (options && options.scene) {
      let scene = decodeURIComponent(options.scene)
      console.log(scene)
    }
  },

onShow(options) {
    console.log(options)
}

运行结果及报错内容

{path: "pages/main/main", query: {…}, scene: 1001, shareTicket: undefined, referrerInfo: {…}}
path: "pages/main/main"
query: {}
referrerInfo: {}
scene: 1001
shareTicket: undefined

换成wx.getLaunchOptionsSync()试试,在onload里接收;

var objParam = wx.getLaunchOptionsSync();

然后onLaunch只加async是实现不了同步的