我有一个与我的数据库集成的函数,但在此之前我有一个执行一些检查的函数:
function checkVars (a, b){
if (a.a1 !== b.b1){
b.b1 = a.a1;
}
// and other 4 vars
}
此后,我有一个将数据插入数据库的函数。
我如何确定我的代码将在数据库函数之前执行比较函数?
我正在使用回调,但是没有回调也可以吗?
How can i be sure that my code is going to execute the comparative function before ?
假设你有:
checkVars(something, somethingElse);
doDatabaseWork();
...您知道 checkVars
将被调用,并将在调用 doDatabaseWork
之前运行完成。由于 checkVars
同步执行其所有工作(它不会启动任何异步进程),因此它在调用 doDatabaseWork
之前运行完成,这意味着它的所有工作都在 doDatabaseWork
之前完成。仅当 checkVars
启动异步进程时,您才需要在 checkVars
返回时允许该进程尚未完成(并通过回调、直接回调或通过 Promise 处理它)。但是您所描述的内容不会在 checkVars
中启动异步进程,因此没有什么可允许的。
我是一名优秀的程序员,十分优秀!