2017-02-13 42 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到页面并仍然保持一个函数的所有内容?

回答