我只是在尝试一个简单的回调来让代码按顺序执行而不是异步执行。这不起作用:
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 中执行此操作的最佳方式吗?
最佳答案
看看你的最后一行:
fn1("meaninglessString", fn2());
它应该是以下内容:
fn1("meaninglessString", fn2);
包含括号会导致 fn2 立即执行。
关于javascript - 深入了解 Node.js 中的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14553489/