我有一个函数,需要在数据库中查询符合特定条件的项目,然后遍历每个项目,检查它是否符合多个其他条件,最后采取一些措施。
我开始以非同步的方式做这部分工作,但它实际上有效。但是,一旦我试图确定该书是否已检出,我就遇到了问题,因为在该功能完成运行之前未检索到该值。我尝试使用promises,但发现它们仍然没有及时获得值,除非我将其余代码插入then
方法中,但导致在then
之前定义的所需值不是里面有它。
接近这样做的最佳方法是什么?需要在运行时从多个数据库表动态填充多个值的东西,但仅在某些条件下并且在迭代多个记录时都是如此?
答案 0 :(得分:1)
甚至同步处理也可以使用异步函数样式实现(即使用回调来处理一些处理的结果)。
因此,您应该使用异步样式实现新功能。
我还建议以异步方式返回并重新实现现有的同步函数,稍后您可能会了解到某些处理可能需要比预期更长的时间(特别是在系统开始增长之后)。