我使用node创建restful api,在发送响应时感到困惑。
以下是示例代码:
router.post('/', function(req, res) {
var mobileRegex=/^\d{10}$/;
if (!mobileRegex.test(req.body.mobile)){
res.json({status:'success',type:false,msg:'Invalid Mobile'});
// I dont want further execution of code after this but still it continues and prints data not defined
// OR
return res.json({status:'success',type:false,msg:'Invalid Mobile'});
//but works if I specify return before it
}
var data={...};
signupModel.createUser(data,function(err,result){
if(err)
{
res.json({status:'success',type:false,msg:'....'});
}
else
{
res.json({status:'success',type:false,id:'....'});
}
});
当我在失败的移动验证响应期间未指定return时,它会继续执行代码并在控制台中打印“数据未定义”,但Invalid mobile message json会正确发送到客户端,而不会进行错误跟踪。
我不知道在nodejs中创建api时应该遵循什么样的正确方法。我担心的是,一旦发送了响应,就不应该进一步处理请求。此外,如果return结束响应,我应该在所有情况下向客户端发送json响应时都使用return吗?
我已经看到Nodejs之间的区别res.json(…)和返回res.json(…)线程,但它与中间件有关,但在我的情况下没有
您可以在< code>res.json()之后添加< code>return语句。< code>res.json()只是设置响应。它不发送响应。
if (!mobileRegex.test(req.body.mobile)){
return res.json({status:'success', type:false, msg:'Invalid Mobile'});
}
问题内容: 在我的Django应用程序中,我想跟踪响应是否已成功发送到客户端。我很清楚,HTTP之类的无连接协议中没有“防水”方式来确保客户端已接收(并显示)响应,因此这不是关键任务功能,但是我仍然想在最近的可能时间。响应将不是HTML,因此无法从客户端进行任何回调(使用Javascript或IMG标签等)。 我可以找到的“最新”钩子是在中间件列表的第一个位置添加实现process_respons
我是Storm新手。我在用它做一个大学项目。 我创建了我的拓扑,有一个连接到MySql数据库的喷口和两个螺栓。连接到喷口的第一螺栓准备和移除元组中不需要的信息;第二,对元组进行过滤。 我在本地模式下工作。 我希望我的问题很清楚。提前感谢!
问题内容: 这是我要执行的一些代码。我想等待AJAX响应,以便可以从服务器返回一些信息。有什么办法可以做到这一点? 问题答案: 很高兴在这里读到。 这实际上不是“同步的”,但我认为它可以达到OP的预期。 旧的(自此之后,jQuery的选项已被弃用): 所有Ajax调用都可以异步(使用回调函数,这是在“成功”键之后指定的函数)或同步完成-有效地阻止并等待服务器应答。要获得同步执行,您必须指定 就
问题内容: 如何使PHP 5.2(以apache mod_php运行)向客户端发送完整的HTTP响应,然后再继续执行操作一分钟? 长话说: 我有一个PHP脚本,该脚本必须执行一些较长的数据库请求并发送电子邮件,这需要45到60秒才能运行。这个脚本由我无法控制的应用程序调用。我需要该应用程序报告从PHP脚本收到的任何错误消息(主要是无效的参数错误)。 该应用程序的超时延迟小于45秒(我不知道确切的值
我正在尝试解决一个关于将Apache和Tomcat与mod\u proxy\u ajp连接的问题。在我的例子中,Tomcat停止响应Apache,Apache日志打印错误消息,如下所示: 我不知道。有人能帮我吗?