2015-12-21 51 views
-1

我有這樣的代碼行,我會在大多數路由中使用它,但是想到的是,編寫大量相同的代碼是相當多餘的。這不是最佳做法。那麼我怎麼把它放在一個函數中呢?這樣我可以多次使用它?如何將此代碼放入函數中? node.js + mongoose

// Lines of codes that will be used alot. 
    Wardrobe 
     .findOne({ owner: req.user._id}) 
     .populate('items.item') 
     .exec(function(err, foundWardrobe) { 
      if (err) return next(err); 
      console.log(foundCart); 

      res.render('main/checkout', { 
      wardrobe: foundWardrobe 
      }); 

     }); 


    // Function to reduce repetitive codes above 
    function wardrobe() { 

    // What do I put in here? I tried so many codes but didnt work. 

    } 
+0

是REST API?你能詳細說明嗎? – null1941

+0

我沒有看到任何東西來阻止你的函數提取。請提供更多詳細信息或其中一個失敗的代碼。 –

回答

0

參數化多變位:

function wardrobe(ownerId, populate, render) { 
    Wardrobe 
     .findOne({ owner: ownerId}) 
     .populate(populate) 
     .exec(function(err, foundWardrobe) { 
      if (err) return next(err); 
      console.log(foundCart); 

      res.render(render, { 
      wardrobe: foundWardrobe 
      }); 

     }); 
} 

然後調用它:

wardrobe(req.user._id, 'items.item', 'main/checkout'); 
相關問題