我有一个与我的数据库集成的函数,但在此之前我有一个函数可以进行一些检查:
function checkVars (a, b){
if (a.a1 !== b.b1){
b.b1 = a.a1;
}
// and other 4 vars
}
在此之后我有一个将数据插入我的数据库的功能。
如何确保我的代码在数据库函数之前执行比较函数?
我正在使用回调,但这可能没有回调吗?
答案 0 :(得分:3)
我怎样才能确定我的代码之前会执行比较功能?
假设你有:
checkVars(something, somethingElse);
doDatabaseWork();
... 知道 checkVars
将被调用,并且会在调用doDatabaseWork
之前运行完成。由于checkVars
同步完成所有工作(它不会启动任何异步进程),因此调用doDatabaseWork
之前运行完成的事实意味着它的所有工作都在doDatabaseWork
之前完成。只有当checkVars
启动异步进程时,您才需要允许该进程在checkVars
返回时(并通过回调,直接或通过promises处理它)。但是你所描述的并没有在checkVars
中启动异步过程,所以没有什么可以允许的。