https://github.com/caolan/async
https://github.com/maxtaco/tamejs
这是两个模块。对我来说,似乎是同一回事,对吧?
还是...它们是在不同情况下使用的吗?
最佳答案
async
是一个提供方法的库,可让您控制程序的流程。例如:“我要异步处理数组中的每个项目,并在所有处理完成后执行此函数”。
TameJS使您可以编写非JS的代码,但会转换为JS。目的是使执行异步编程的方法更容易遵循。
我个人使用过TameJS,它有一些问题:
报告错误时,行号是JS文件的行号,而不是您编写的TJS文件的行号。跟踪错误很痛苦。
可能存在难以跟踪的错误。我记得在return res.send(200)
中有一个错误,该错误未发送请求。到目前为止,它已经修复,但是它使我口中的味道很差。
我现在正在使用async
,发现它可以使代码非常易于阅读和理解。
作为最后的建议,也许您应该尝试编写自己的代码来管理控制流。如果您不熟悉JS,那么这将是一个非常不错的学习经验,以了解这些库在内部的功能。即使您处于时间紧缩状态,也最好了解外部库的功能,以便您可以充分利用它们。