【发布时间】:2014-09-11 22:57:55
【问题描述】:
我正在阅读关于backbone.js 的书,并且有一个使用node.js 构建API 后端的示例。本书链接:http://addyosmani.github.io/backbone-fundamentals/
有时会有这段代码
//Update a book
app.put( '/api/books/:id', function( request, response ) {
console.log( 'Updating book ' + request.body.title );
return BookModel.findById( request.params.id, function( err, book ) {
book.title = request.body.title;
book.author = request.body.author;
book.releaseDate = request.body.releaseDate;
return book.save( function( err ) {
if( !err ) {
console.log( 'book updated' );
return response.send( book );
} else {
console.log( err );
}
});
});
});
我不明白为什么会有这么多的返回语句,因为这段代码没有返回也可以工作
//Update a book
app.put( '/api/books/:id', function( request, response ) {
console.log( 'Updating book ' + request.body.title );
BookModel.findById( request.params.id, function( err, book ) {
book.title = request.body.title;
book.author = request.body.author;
book.releaseDate = request.body.releaseDate;
book.save( function( err ) {
if( !err ) {
console.log( 'book updated' );
response.send( book );
} else {
console.log( err );
}
});
});
});
我错过了什么吗?
【问题讨论】:
-
你没有错过任何东西。这不是必需的。错误的编码恕我直言。
-
两年后,我肯定知道这是为了执行一致的回报。 Eslint rule.
标签: javascript node.js return