Javascript 向事件添加回调
向事件添加回调可以吗?像这样Javascript 向事件添加回调,javascript,node.js,callback,event-handling,Javascript,Node.js,Callback,Event Handling,向事件添加回调可以吗?像这样 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 = JS
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
这会影响性能吗
那要看情况
只要添加一个参数,它是一个有条件地被调用的函数,在函数没有被调用的情况下,您就不会有任何明显的性能差异。否则,这取决于回调函数的性能
在任何一种情况下,如果使用合理的回调函数,我都不会认为这是性能问题的原因。实际上发生了一些事情。每次我让事情发生。它执行回调+1次。如果我做了10次。它执行10次。我只希望它做一个请求。某种请求/响应方式。我不清楚您希望发生什么以及正在发生什么。从我所能收集到的信息来看,您想要更多地控制函数的运行时间吗?与此相关的问题:。我将此标记为已回答,因为它确实回答了我的问题。