From af65e7027dd8d525f1a934b422fe47c12ddec384 Mon Sep 17 00:00:00 2001 From: Matt Huntington Date: Fri, 25 Nov 2016 04:14:48 +0100 Subject: [PATCH] issues with asynchronousness --- controllers/articles.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/controllers/articles.js b/controllers/articles.js index b886a8e..3fa6b45 100644 --- a/controllers/articles.js +++ b/controllers/articles.js @@ -65,13 +65,14 @@ router.get('/:id/edit', function(req, res){ router.put('/:id', function(req, res){ Author.findOne({'articles._id':req.params.id}, function(err, previousAuthor){ previousAuthor.articles.id(req.params.id).remove(); - previousAuthor.save(); - }); - Author.findById(req.body.authorId, function(err, foundAuthor){ - Article.findByIdAndUpdate(req.params.id, req.body, {new:true}, function(err, updatedArticle){ - foundAuthor.articles.push(updatedArticle); - foundAuthor.save(function(){ - res.redirect('/articles'); + previousAuthor.save(function(){ + Author.findById(req.body.authorId, function(err, newAuthor){ + Article.findByIdAndUpdate(req.params.id, req.body, {new:true}, function(err, updatedArticle){ + newAuthor.articles.push(updatedArticle); + newAuthor.save(function(){ + res.redirect('/articles'); + }); + }); }); }); });