我正在使用 Puppeteer sharp 来呈现报告,其中一部分是执行用户提供的 javascript 来为报告准备数据。
我使用 AddScriptTagAsync 将脚本添加到页面,然后在呈现报告之前调用用户提供的脚本。
如果用户提供的 javascript 存在导致无限循环的问题(例如),那么我的调用EvaluateExpressionAsync
可能会永远等待:
await page.EvaluateExpressionAsync<dynamic>($"Prepare({DataObject});")
我无法将取消令牌传递给,EvaluateExpressionAsync
因此我无法控制它,并且此方法似乎没有可用的超时。
我想将它限制在可控的秒数内,然后让它超时。
任何有关如何做到这一点的建议将不胜感激。