我是 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/