收藏
回答

Generator 函数无法正常执行

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug iOS iOS 13.3.1 iPhone XR 7.0.11

未转译的 Generator 函数在高版本 iOS 上也不能正常运行,例如执行代码 console.log((function*() {})().next()) 理应打印 {value: undefined, done: true},但在真机上却打印出 undefined。

我调查后发现,似乎微信小程序屏蔽了 Generator 函数的 next 方法,这是故意为之吗?为什么呢?这样影响了开发者对 Generator 函数的正常使用。

Android 也有同样的问题。

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

2 个回答

  • 微信小店技术专员-binnie
    微信小店技术专员-binnie
    2022-04-02

    已支持,最低基础库版本为 2.11.2

    2022-04-02
    有用 1
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2020-03-18

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2020-03-18
    有用
    回复 8
    • M&S
      M&S
      2020-03-18
      我觉得我已经说清楚了,也给出代码片段了
      2020-03-18
      回复
    • 微信小店技术专员-binnie
      微信小店技术专员-binnie
      2020-04-15回复M&S
      开下这个
      2020-04-15
      回复
    • M&S
      M&S
      2020-04-16回复微信小店技术专员-binnie
      我知道如何解决,但我的目标机型是 iOS 10 及以上,我并不想将代码转成 ES5。请问这是个 Bug 还是刻意行为,如果是 Bug 大概何时能修复,如果是刻意行为请解释一下原因,谢谢。
      2020-04-16
      回复
    • 微信小店技术专员-binnie
      微信小店技术专员-binnie
      2020-04-20回复M&S
      目前真机是不支持Generator的,可以通过转ES5来规避。这里不想转化是有什么考虑么?
      2020-04-20
      回复
    • M&S
      M&S
      2020-04-23回复微信小店技术专员-binnie
      像我上面说的,我的目标机型是支持 ES6 的机型,我没有必要将代码转成 ES5,直接跑 ES6 运行更快,代码体积更小。真机不支持 Generator 是出于什么考虑呢?将来有可能支持吗?
      2020-04-23
      回复
    查看更多(3)
登录 后发表内容
问题标签