taro 分享函数onShareAppMessage异步问题

m528fe3b  于 22天前  发布在  其他
关注(0)|答案(5)|浏览(22)

相关平台

微信小程序

小程序基础库: 3.2.1
使用框架: React

复现步骤

分享函数onShareAppMessage无法使用promise对象或async/await语法

以下两种写法将导致onShareAppMessage分享函数失效,分享时图片和标题都是默认的并非onShareAppMessage所返回的对象。相同写法在原生的小程序是成功的。

import React, { Component } from 'react'
export default class Test extends Component {
  onShareAppMessage() {
    const promise = new Promise(resolve => setTimeout(() => resolve({ title: '异步标题'}), 2000))
    console.log('promise', promise)
    return {
      promise
    }
  }
  render() {
    return (
      <>test</>
    )
  }
}
import React, { Component } from 'react'
export default class Test extends Component {
  async onShareAppMessage() {
    const promise = await new Promise(resolve => setTimeout(() => resolve({ title: '异步标题'}), 2000))
    console.log('promise', promise)
    return {
      title: promise.title,
    
    }
  }
  render() {
    return (
      <>test</>
    )
  }
}

期望结果

onShareAppMessage支持异步,分享时标题图片为onShareAppMessage返回值内容

实际结果

(1)onShareAppMessage函数返回值不支持promise键值对
(2)async/await语法使得onShareAppMessage函数失效

环境信息

👽 Taro v3.6.16

  Taro CLI 3.6.16 environment info:
    System:
      OS: macOS 13.3.1
      Shell: 5.9 - /bin/zsh
    Binaries:
      Node: 14.21.3 - ~/.nvm/versions/node/v14.21.3/bin/node
      npm: 6.14.18 - ~/.nvm/versions/node/v14.21.3/bin/npm
    npmPackages:
      @tarojs/cli: 3.6.19 => 3.6.19 
      @tarojs/components: 3.6.19 => 3.6.19 
      @tarojs/helper: 3.6.19 => 3.6.19 
      @tarojs/mini-runner: 3.6.19 => 3.6.19 
      @tarojs/plugin-framework-react: 3.6.19 => 3.6.19 
      @tarojs/plugin-platform-alipay: 3.6.19 => 3.6.19 
      @tarojs/plugin-platform-h5: 3.6.19 => 3.6.19 
      @tarojs/plugin-platform-jd: 3.6.19 => 3.6.19 
      @tarojs/plugin-platform-qq: 3.6.19 => 3.6.19 
      @tarojs/plugin-platform-swan: 3.6.19 => 3.6.19 
      @tarojs/plugin-platform-tt: 3.6.19 => 3.6.19 
      @tarojs/plugin-platform-weapp: 3.6.19 => 3.6.19 
      @tarojs/react: 3.6.19 => 3.6.19 
      @tarojs/runtime: 3.6.19 => 3.6.19 
      @tarojs/shared: 3.6.19 => 3.6.19 
      @tarojs/taro: 3.6.19 => 3.6.19 
      @tarojs/webpack-runner: 3.6.19 => 3.6.19 
      babel-preset-taro: 3.6.19 => 3.6.19 
      eslint-config-taro: 3.6.19 => 3.6.19 
      react: ^18.0.0 => 18.2.0 
      taro-ui: 3.1.0-beta.3 => 3.1.0-beta.3
6tqwzwtp

6tqwzwtp1#

没有复现,我测试转发的标题都是 异步标题

j1dl9f46

j1dl9f462#

没有复现,我测试转发的标题都是 异步标题

请问下你taro版本是多少呢。我目前版本为3.6.10

flvlnr44

flvlnr443#

taro 最新版,不过应该跟taro 版本关系不大,我试了你说的 3.6.10 也是正常的

hsgswve4

hsgswve44#

taro 最新版,不过应该跟taro 版本关系不大,我试了你说的 3.6.10 也是正常的

我重新创建了个taro项目,的确是可以。看来是代码问题。感谢回复哈

r1zk6ea1

r1zk6ea15#

taro 最新版,不过应该跟taro 版本关系不大,我试了你说的 3.6.10 也是正常的

我重新创建了个taro项目,的确是可以。看来是代码问题。感谢回复哈

后来有找到具体啥问题不?

相关问题