收藏
回答

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 也有同样的问题。

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

1 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    03-18

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

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