如何在节点中看到没有回调的异步

时间:2017-01-09 10:28:06

标签: javascript node.js

我有一个与我的数据库集成的函数,但在此之前我有一个函数可以进行一些检查:

function checkVars (a, b){
   if (a.a1 !== b.b1){
          b.b1 = a.a1;
   }
   // and other 4 vars
 }

在此之后我有一个将数据插入我的数据库的功能。

如何确保我的代码在数据库函数之前执行比较函数?

我正在使用回调,但这可能没有回调吗?

1 个答案:

答案 0 :(得分:3)

  

我怎样才能确定我的代码之前会执行比较功能?

假设你有:

checkVars(something, somethingElse);
doDatabaseWork();

... 知道 checkVars将被调用,并且会在调用doDatabaseWork之前运行完成。由于checkVars同步完成所有工作(它不会启动任何异步进程),因此调用doDatabaseWork之前运行完成的事实意味着它的所有工作都在doDatabaseWork之前完成。只有当checkVars启动异步进程时,您才需要允许该进程在checkVars返回时(并通过回调,直接或通过promises处理它)。但是你所描述的并没有在checkVars中启动异步过程,所以没有什么可以允许的。