如何将Puppeteer爬取值跨异步作用域传递给Telegraf机器人
Telegraf机器人开发遇作用域与异步初始化阻塞问题
- 预设实现目标:开发可响应
/price指令的Telegram机器人,返回通过爬取计算得到的单枚代币价值。计算逻辑为「页面爬取获取的账户持仓总价值 ÷ 持仓代币数量」,经测试该除法运算本身运行正常,仅存在链路打通的问题。 - 具体调试卡点:
- 未找到可行方案,将爬取计算完成的数值传递给机器人的事件处理逻辑使用
- 如果将Telegraf实例的初始化逻辑放在负责爬取的异步函数外部运行,程序会直接抛出异常
- 现有代码结构将Telegraf实例初始化、Puppeteer启动、页面爬取、价格计算逻辑全部封装在同一个立即执行的异步函数中;原用于响应
/price命令的回调代码,因无法访问该异步函数作用域内的tokenPrice变量,目前处于被注释状态 - 出于隐私保护考虑,代码中涉及的实际爬取页面链接已替换为示例占位内容
内容的提问来源于stack exchange,提问作者Coder man
相关产品推荐
相关产品推荐

