向事件添加回调



添加回调事件可以吗?像这样吗?

Client.prototype.send = function(data, cb) {
  // convert json to string
  data = JSON.stringify(data)
  this.client.write(data)
  // wait for the response of this request
  this.client.on('data', function(data) {
    var request = JSON.parse(data)
    // return response as callback
    if (request.type === data.type) {
      cb(request)
    }
  })
}

然后调用如下:

// send request and wait for reply
client.send(data, function(response) {
  // do stuff to reply/response
  // this executes +1 times for every sent request should only do 1 request 1 response
  console.log(response)
})

是否每次发出相同类型的事件时都执行回调?
这会影响性能吗?

你问了几个问题,让我试着按顺序回答。

向事件添加回调可以吗?

当然,如果你想在事件之后调用一个函数,为什么不呢?

是否每次发出相同类型的事件时都执行回调?

你写的方式,cb只会在request.type === data.type

时被调用

这会影响性能吗?

,视情况而定。

通过添加一个参数,该参数是一个有条件调用的函数,在函数没有被调用的情况下,您真的不会有任何明显的性能差异。否则,它取决于回调函数的性能。

在任何一种情况下,一个合理的回调函数,我不希望它是一个性能问题的原因。

相关内容

  • 没有找到相关文章

最新更新