fix: TypeError: cannot read property 'then' of undefined #17020
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
这个 PR 做了什么? (简要描述所做更改)
在我们线上项目发现sentry报错
TypeError: cannot read property 'then' of undefined
错误指向了压缩后的代码
对应 taro 代码 在 https://github.com/NervJS/taro/blob/feat/4.0.6/packages/taro-runtime/src/dsl/common.ts#L240-L254
也就是代码
hasLoaded.then(exec)
报错,因为hasLoaded对象是undefined,经过分析发现 hasLoaded 对象默认是undefined,直到ONLOAD
事件后才有值,因此更新了逻辑,在hasLoaded 为 undefined 时,将function放到队列中,等ONLOAD事件后再运行这个 PR 是什么类型? (至少选择一个)
这个 PR 涉及以下平台: