node.js中的顺序HTTP发布请求

阿基拉·乌扬瓦塔(Akila Uyanwatta)

我正在使用node.js和express将传感器数据推送到mongoDB服务器。我每秒将数据推送5次左右(使用HTTP发布请求)。

我发送汇总的传感器数据。我的传感器数据如下所示

  transmission 1 - 1,2,3 
  transmission 2 - 4,5,6 
  transmission 3 - 7,8,9

将我的数据附加到数据库后,有时看起来像这样

数据阵列- 1,2,3,7,8,9,4,5,6-

如您所见,在第二次传输之前附加了第三次传输

我的server.js的POST请求处理部分看起来像这样

var app = require("express")();
app.post("/saveData", function(req, res){
  res.send("a");//sending acknowledgement  
      Data_From_NodeMCU = req.body.hello; //getting data from JSON object
      ////Some processing\\\\


      dbObject.updateOne(
      {name: "AKILA"}, 
      {'$push': {data :{$each: processed_data} }},
      function (err) {
                        if (err) 
                             {
                                console.log("DB error:");
                                console.log(err);
                              }                              
                      }
                        );        
    
});

似乎我想要实现的是,一旦调用app.post,就停止再次执行它,直到数据库更新为止这可能是一个基本问题,但是我是新手,任何帮助都将非常有帮助

乔什·沃尔夫

您可以使用并发的异步队列1将会是这样的:

const app = require("express")();
const queue = require("async/queue");

const q = queue(function(task, cb) {
  dbObject.updateOne({name: "AKILA"}, 
    {'$push': {data :{$each: task.processed_data} }}, (err) => {
       if (err) console.log("DB error:", err);
       cb();
  });     
}, 1)

app.post("/saveData", function(req, res){
  res.send("a"); //sending acknowledgement  
  const Data_From_NodeMCU = req.body.hello; 
  const processed_data = processData(Data_From_NodeMCU);
  q.push({processed_data});   
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node js http 请求:选项中的变量

来自分类Dev

在node.js中过滤发布请求的主体

来自分类Dev

将请求发布到Node-http-proxy Node.js时发生套接字挂断

来自分类Dev

Node.js-多个发布请求

来自分类Dev

Node js中的语句顺序

来自分类Dev

需要在 Node.js 中指定 HTTP 请求元素的顺序

来自分类Dev

如何从Node.js中的$ http请求返回ArrayBuffer?

来自分类常见问题

如何从Node.js http获取请求中获取数据

来自分类Dev

在Node.js中访问HTTP请求的时间戳

来自分类Dev

Node.js中的HTTP请求无法正常工作?

来自分类Dev

了解node.js中的http.get请求

来自分类Dev

如何从node.js中的HTTP请求获取同步结果

来自分类Dev

使用 $http 在 node.js 中的 PUT 请求

来自分类Dev

在Node.js中的单个HTTP请求中调用多个HTTP请求

来自分类Dev

我如何获取我在node.js http请求中实际发送的http请求标头

来自分类Dev

如何在单页 Web 应用程序中处理 node.js 中的“发布”请求

来自分类Dev

在Node.js上的发布请求中设置字符集

来自分类Dev

在过滤node.js中的所有发布请求之前

来自分类Dev

在Node.js中处理多部分发布方法请求引发意外字段错误

来自分类Dev

在node.js中顺序合并来自多个GET请求的数据

来自分类Dev

请求函数在node.js中的执行顺序不正确

来自分类Dev

Node JS上的HTTP请求回调

来自分类Dev

Node.js axios http请求循环

来自分类Dev

Node.JS回调发布请求关闭

来自分类Dev

如何在Node.js中排队发布请求?

来自分类Dev

将请求发布到node.js服务导致超时

来自分类Dev

Node.js发布请求变量范围问题

来自分类Dev

如何从Angular项目发送NODE.JS发布请求?

来自分类Dev

将请求发布到node.js服务导致超时

Related 相关文章

热门标签

归档