2017-02-13 72 views
0

我發現我的所有request-promise.catch()方法在我的應用程序中使用相同的邏輯。所以,我想編寫一個函數維護像這樣:響應與請求承諾.catch()函數

var handleError = function (error) { 
    if (error.statusCode == 401) { 
    res.json({ 
     'message': 'You\'re no longer logged in. Please check your settings and try again.' 
    }); 
    } else { 
    res.json({ 
     'message': 'Something when wrong and it wasn\'t your fault. Please try again.' 
    }); 
    } 
}; 

router.get('/test', function(req, res, next) { 
    request({ 
    uri: 'http://google.com/404' 
    }).then(function() { 
    console.log('It worked!'); 
    }).catch(handleError); 
}); 

雖然這並不工作,因爲handleError()功能無法訪問ExpressJS的響應對象。我如何返回JSON到頁面並仍然保持一個函數的所有內容?

回答