gpt4 book ai didi

sails.js - 如何在 Sailsjs 服务中获取 req 和 res?

转载 作者:行者123 更新时间:2023-12-02 03:36:13 24 4
gpt4 key购买 nike

我最近开始使用 sailsjs 中的服务来减少 Controller 中的代码。这是我如何在我的服务中调用函数的示例:

ValidationService.addError(req,res,'Password is too short.'); 

注意我将 req 和 res 传递给我的服务。为什么这些已经可用?如何将它们添加到服务中,这样我就不必总是显式传递它们?

根据要求,这是我服务中的代码:

var errorCss = 'alert-danger';
var successCss = 'alert-success';

module.exports = {

init : function(req,res){

req.session.flash = {};
req.session.flash.alert = {};
req.session.flash.alert.data = [];
req.session.flash.alert.result = 'pass';

},

addError : function(req,res,error){
req.session.flash.alert.data.push(error);
req.session.flash.alert.css = errorCss;
req.session.flash.alert.result = 'fail';
},

addSuccess: function(req,res,success){
req.session.flash.alert.data.push(success);
req.session.flash.alert.css = successCss;
},

isValid : function(req,res){

if ((req.session.flash.alert.result == 'pass')){
return true;
}

return false;
},

clear : function(req,res){
delete req.session.flash;
}

}

最佳答案

我相信你已经读过这篇文章,但再看看 the definition of the Sails services .这基本上意味着您可以在服务中使用任何通用代码,不一定是处理请求和响应的代码。例如,您的应用程序可能有一部分是您从命令行运行的:在这种情况下不会有任何请求或响应,但您仍然希望能够使用您的服务。

最重要的是,通过传递 req/res,您已经做对了。 (只是不要过度:您应该只为您在多个地方使用的代码创建服务,为每个 Controller 都这样做没有意义)。

关于sails.js - 如何在 Sailsjs 服务中获取 req 和 res?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23284919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com