在我的create
,read
,update
和delete
函数中,如果交易成功并true
,我将返回false
否则 - read
除外,我返回请求的data
或null
。
由于在给测试数据库提供各种测试输入的情况下简单地评估返回值,因此该策略应该使测试变得容易。
我的问题是,在db.query("...")
完成并调用其回调之前,我无法完全确定事务是否成功,但此时,原始CRUD函数已返回。
通常的做法是什么?
答案 0 :(得分:1)
Javascript是异步的,你肯定想要了解使用节点时的工作原理。
网上有很多关于此的信息,但这里有一个答案:
Understanding Asynchronous Code in Layman's terms
通常,您的最佳做法是使用承诺。承诺非常有用,但也需要一些时间来学习。我个人使用Q promise库
https://github.com/kriskowal/q
我真的希望这会有所帮助。