javascript - 了解 Node 中的回调

标签 javascript node.js callback

我是 nodejs 的初学者。我试图理解一些代码。基本上它会创建一个事件。

模型/事件.js

EventSchema.static("createEvent",function(event,user,callback){
var That = this;

async.waterfall([
    function(callback){
        var time = moment(event.releaseTime).tz(event.releaseTimezone).utc().toDate();
        event.rTime= time;
        callback();
    },

    function(callback){
        var model = new That(event);
        That.validateEvent(model,user,function(err){
            if(err){
                callback({message:err});
                return;
            }else{
                callback(null,model);
                return;
            }
        });
    },

    function(model,callback){
        model.save(function(err,doc){
            if(err){
                callback({message:"Error saving event",err:err});
            }else{
                callback(null,doc);
            }
        });
    },

    function(savedEvent,callback){ /*Some further code is written here*/}

我理解了前两个回调函数,但没能理解第三个和第四个。

在第二次回调中它说

callback(null,model);

然后下一个回调开始于

函数(模型,回调){

在第三个回调中它说

回调(null,doc);

然后下一个回调开始于

函数(savedEvent,回调){

这个我不太懂。非常感谢任何帮助。

最佳答案

callback(null,model);

一个函数(存储在名为callback 的变量中)被调用。两个参数(值 null 和变量 model 的值)被传递给它。

function(model,callback){

定义了一个函数。它期望收到两个参数。第一个参数将存储在名为 model 的变量中。第二个参数将存储在名为 callback 的变量中。


另一个函数调用和函数定义的工作方式大致相同。

关于javascript - 了解 Node 中的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48790672/

相关文章:

javascript - Angular Broadcast 多次触发

javascript - 如何隐藏使用 Electron 构建的 nodeJS 解决方案的源代码(asar 文件)?

javascript - "Uncaught TypeError: Cannot read property ' toLowerCase ' of undefined"on jsonp 请求

c++ - 在线程中像回调一样调用 C

javascript - 遍历包含图像的数组并删除带有错误 Javascript 的图像

javascript - 如何调整按钮的断点,使它们折叠成一列?

javascript - 如何使用 React JS 从 JSON 文件中获取嵌套对象

javascript - Nodejs 异步 promise 队列

javascript - JSON 和 JS 回调函数

c# - Lightswitch HTML Client Preview2 中的字段格式