javascript - 深入了解 Node.js 中的回调

标签 javascript node.js

我只是在尝试一个简单的回调来让代码按顺序执行而不是异步执行。这不起作用:

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/

相关文章:

node.js - 如何运行多个 pm2 实例,每个实例具有不同的 cmd 参数?

javascript - 包装要求

javascript - 用JS创建动态输入类型

javascript - jPlayer 进度条旋钮

javascript - AngularJS- 改变 ng-model 的值

javascript - nodejs在回调函数中绑定(bind)对象

javascript - Node.js 使用 Promise 来处理来自另一个函数的请求

node.js - 使用 mongoskin 聚合查询

javascript - 如何将重叠的关键字与正则表达式匹配

javascript - 使用 jQuery 的 $.load() 函数在请求正文中发送对象