[Transpiling] Rest parameters with async bug
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 38/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- javascript
- 领域
- build-system
调研方向
首先重现最小 JavaScript 案例,并将生成的输出与报告中的预期结果进行比较。跟踪 async 和 rest 参数的转译,尤其要关注内联如何影响 arguments 所使用的作用域;当生成的 _arguments2 引用是从外层函数而不是嵌套回调中捕获时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Minimal test case:
export const brokenArgsRest = async (...props) => {
await someAsyncFunction(async () => {
console.log(props)
})
}
export const someAsyncFunction = async callback => {
await callback()
}
generates
var brokenArgsRest = function brokenArgsRest() {
return Promise.resolve(someAsyncFunction(function () {
try {
var _arguments2 = arguments;
console.log([].slice.call(_arguments2));
return Promise.resolve();
} catch (e) {
return Promise.reject(e);
}
})).then(function () {});
};
var someAsyncFunction = function someAsyncFunction(callback) {
try {
return Promise.resolve(callback()).then(function () {});
} catch (e) {
return Promise.reject(e);
}
};
var _arguments2 = arguments; should be one more level up
Context:
We hit this bug on fcl-js lib : https://github.com/onflow/flow-js-testing/issues/182
PS: my js knowledge is limited, but seems related to inlining somehow.
- 主要语言
- JavaScript
- 星标
- 8.1k
- 派生
- 358
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
developit/microbundle 的其他 Issue
-
CSS
难度 2/5 1-3 小时 新手友好度 68/100
developit/microbundle#1002 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
developit/microbundle#789 · 1 条评论 ·
-
难度 3/5 1-2 天 新手友好度 55/100
developit/microbundle#1100 · 4 条评论 ·
-
难度 4/5 3-5 天 新手友好度 35/100
developit/microbundle#1094 · 1 条评论 ·
-
难度 3/5 1-2 天 新手友好度 45/100
developit/microbundle#1093 · 3 条评论 · 1 个 reaction ·
查看 developit/microbundle 的全部 Issue
相似的 Issue
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 70/100
georgestephanis/p2026#40 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
Margaret-Petersen/food-delivery-app-clone-react-native#1981 ·