feat: support async context
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- typescript
- 领域
- backend
调研方向
首先在 TypeScript 表达式解析器和求值器中定位 evaluate 和 register 入口点。跟踪上下文值和已注册函数的结果是如何处理的,然后定义对基于 Promise 的值和异步函数的支持。当示例将 x 和 y 解析为 15,并允许 @fetchData() 返回其异步结果时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Handling Promise Contexts
// Promises in context will be automatically resolved
const result = await evaluate('x + y', {
x: Promise.resolve(5),
y: Promise.resolve(10)
}); // returns 15
// Handling promises returned by async functions
register('fetchData', async () => {
const response = await fetch('https://api.example.com/data');
return response.json();
});
const data = await evaluate('@fetchData()');
- 主要语言
- TypeScript
- 星标
- 26
- 派生
- 1
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
我们还没有检查这个项目的环境配置文件。先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
antvis/expr 的其他 Issue
-
bug when expr contains Array可能重新可做 @BQXBQX 于 368 天前认领,目前没有进行中的 PR。 未关闭
-
难度 5/5 一周以上 新手友好度 25/100
-
难度 3/5 1-2 天 新手友好度 45/100
-
难度 5/5 一周以上 新手友好度 20/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
melgarafael/DeskcommCRM#1812 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
prisma/prisma-cli#309 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
gregwebs/pi-quota-dispatcher#26 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
openwatersio/slackwater.xyz#124 ·
维护者通常 1 天内回复
-
agent-reported area/browser area/docs documentation good first issue hacktoberfest help wanted P2
难度 1/5 1 小时以内 新手友好度 90/100
维护者通常 2 天内回复