【文件属性】:
文件名称:ajs:具有无缝异步处理的 Javascript 评估器
文件大小:24KB
文件格式:ZIP
更新时间:2021-07-11 16:26:09
CoffeeScript
对于看起来像这样的代码,我们有一个原因和执行环境:
user.devices.sessions.actions.filter(...)
实际上实际上有几层异步代码:
在数据库中查找设备
然后在数据库中查找所有设备的会话
然后从所有会话中检索操作并对其进行过滤
目前的做法是抛出承诺并反复重新运行它,直到没有承诺被抛出。
这很疯狂,但它有效( )
然而,虽然它有点效率(大部分时间<1ms),但它会导致一系列问题(边缘情况下未捕获的承诺)并且通常有点麻烦。
这是尝试使代码只运行一次,并中断解决异步问题。
然而,第一步只是让 javascript 编译。
坦率地说,这几乎绝对是一个非常糟糕的主意。 但无论如何我都在做。