我只是尝试一个简单的回调来按顺序执行代码而不是异步执行。这种方法行不通:
function fn1(string, func){
console.log("hello");
func();
};
function fn2(){
console.log("world");
}
fn1("meaninglessString", fn2());
实际上,它会先在控制台打印“world”,然后再打印“hello”,最后崩溃。但是以下代码不会导致崩溃:
function fn1(string, func){
console.log("hello");
func();
};
fn1("meaninglessString", function(){
console.log("world");
});
我是否必须总是在调用fn1
时编写回调函数代码,还是有一种方法可以引用已经编写的函数? 另外,如果我只想让一个函数在另一个函数完成后发生,这是在Node.js中进行此操作的最佳方式吗?
()
。你是在调用函数,而不是传递它。 - numbers1311407fn1
方法调用中将fn2()
替换为fn2
。fn2()
将会被执行,记录"world",然后返回undefined
,这个undefined
作为fn1
的回调函数传递了进去。 - Cecchifn1
是异步的吗?如果您传递给它的函数是同步的,那么您不必使用回调函数。您只需在调用第一个函数后直接调用第二个函数即可。 - bfavaretto