【问题标题】:how to track post request from node, if the data is received by requester or not [closed]如果请求者接收到数据,如何跟踪来自节点的发布请求[关闭]
【发布时间】:2018-07-06 07:47:34
【问题描述】:

我是节点的新手

我使用 node 作为后端服务器和 mongodb 并使用 android 设备调用它

我的情况是我从 android 设置超时以在节点中发布请求,然后从 android 它只是返回超时,因为它等待的时间太长.. 但是几秒钟后,数据会在 mongodb 创建,因为如果互联网太慢,所以它需要几秒钟,我只是在android中切断了连接,并不能在节点处切断它。

任何人都可以帮助在 android 中使用超时的最佳做法是什么?假设我将超时设置为 60 秒,如果请求超过 10 秒,我想切断连接,因为它需要太长时间

还是谢谢 :))

【问题讨论】:

  • 你必须在请求之后设置响应。
  • 显示你尝试过的batter解决方案代码
  • @KaushikMakwana exports.testInsert = function(req, res) { testModel.update({user_id: req.body.user_id}, {$set: {username: 'test'}}, {upsert: true, setDefaultsOnInsert: true}).lean().exec(function(err, data) { if (err) { return res.send({ err_num: 100000, err_str: err }); } return res.send({ err_num: 0, err_str: 'Success' }) }) } 我需要知道响应进展如何,android 是否收到响应。

标签: javascript android node.js mongodb


【解决方案1】:

试试这个

exports.testInsert = function(req, res){
    testModel.update({user_id: req.body.user_id}, {$set: {username: 'test'}},{upsert: true, setDefaultsOnInsert: true})
    .lean()
    .exec(function(err, data){ 
        if (err) { 
            res.send({ err_num: 100000, err_str: err });
            return false 
        }
        res.send({ err_num: 0, err_str: 'Success' }) 
    })
}

【讨论】:

  • 嗯,情况是,我通过了成功响应,但接收器(android)已经切断了响应。我要问的是如何知道android何时收到响应? TLDR:节点响应总是成功但android已经断开连接,所以我需要回滚事务
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-22
  • 1970-01-01
  • 1970-01-01
  • 2014-10-17
  • 1970-01-01
  • 2015-11-19
  • 2020-02-05
相关资源
最近更新 更多