猿问

微信小程序的转发方法 onShareAppMessage 内可以定义转发内容之外的逻辑吗?

根据文档 转发 ,小程序内的转发方法 onShareAppMessage 需要直接返回一个包含转发内容的对象,该对象内的 path 值为接受转发者看到的页面路径。例如

Page({

  onShareAppMessage: function (res) {

    return {

      title: '自定义转发标题',

      path: '/page/user?queryId=123',

      success: function(res) {

        // 转发成功

      },

    }

  }

})

假如拼接 path 值所需的 queryId 是由一个请求返回的,即不能同步获取到,例如


Page({

  onShareAppMessage: function (res) {

    let queryId = ''

    wx.request({

      url: '...',

      method: 'GET',

      success (res) {

        queryId = res.queryId

      },

    })

    return {

      title: '自定义转发标题',

      path: `/page/user?queryId=${queryId}`,

      success (res) {

        // 转发成功

      },

    }

  }

})

那么 JavaScript 有没有什么方法可以使以上的 onShareAppMessage 方法直接返回有效的 queryId 呢,用 promise 之类的话?


一只甜甜圈
浏览 439回答 1
1回答

隔江千里

你这是个伪需求,为什么不在页面逻辑中就准备好queryId,而是要在onShareAppMessage的事件处理器里干这种事,难道用户点击分享还要等你半天才响应不成。 小程序把这个接口设计成这样的同步方式应该就是为了防止这种情况的发生的。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答