我正在尝试学习使用 Node。到目前为止,一切都很好。但是,作为 JavasSript 的新手,当有更清晰、更易读(至少对我而言)的语法可用时,我并没有真正理解使用回调的意义。
下面是一个示例代码,可以使我的观点更清楚:
有回调:
exports.create = function(req, res){
new Todo({
content : req.body.content,
updated_at : Date.now()
}).save(function(err, todo, count){
res.redirect('/');
});
};
没有回调:
exports.create = function(req, res){
newtodo = new Todo({
content : req.body.content,
updated_at : Date.now()
});
newtodo.save();
res.redirect('/');
};
这两个代码都将保存新的待办事项和重定向。
我更喜欢第二个,我觉得它更容易阅读,但也许有一个我不明白的区别。有区别吗?
最佳答案
简短的回答是:避免在需要时间的操作完成执行时锁定用户界面。
在您的第二个示例中,如果保存函数进行 ajax 调用,则您必须进行同步 ajax 调用。
关于javascript - 为什么在语法更简洁的情况下使用 javascript 回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16544729/