-1
我正在讀一本關於backbone.js的書,並且有一個例子使用node.js來構建API的後端。鏈接到書:http://addyosmani.github.io/backbone-fundamentals/爲什麼node.js中有這麼多返回語句
在某些時候有這個代碼
//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);
}
});
});
});
我不明白爲什麼有這麼多的return語句,因爲此代碼的工作,以及沒有回報
//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);
}
});
});
});
我錯過了什麼嗎?
你沒有錯過任何東西。這不是必需的。糟糕的編碼恕我直言。 – freakish 2014-09-11 11:46:50
兩年後,我肯定知道這是爲了執行一致的回報。 [Eslint規則](http://eslint.org/docs/rules/consistent-return)。 – Buzut 2016-11-18 12:17:20