node-coap中post、put、delete无法正常运行

616 查看

使用node-coap中的POSTPUTDELETE请求方式是可能会遇到无法得到回应的情况,这是可能是由于node-coap的这三种方法默认observe是开启的。
缺陷代码如下:

var coap  = require('coap') 
var req   = coap.request({
                observe: true,
                host:"127.0.0.1",
                pathname:"/devices",
                port:6661,
                method: 'DELETE'
              })
                

req.on('response', function(res) {
    //将响应结果输出
      res.pipe(process.stdout)
})

req.end()

只要初始化请求时添加observe:false即可,POSTPUT同理。

修正过的代码如下:

var coap  = require('coap') 
var req   = coap.request({
                observe: true,
                host:"127.0.0.1",
                pathname:"/devices",
                port:6661,
                method: 'DELETE',
                //设置observe
                observe:false
              })
                

req.on('response', function(res) {
    //将响应结果输出
      res.pipe(process.stdout)
})

req.end()