node-inspector/lib/callback.js

36 строки
760 B
JavaScript
Исходник Обычный вид История

2010-12-08 09:41:06 +03:00
/**
* Create a callback container
* @return {Object} that wraps callbacks and returns a one-time id.
*/
exports.create = function() {
var lastId = 1,
callbacks = {};
return Object.create({}, {
wrap: {
value: function(callback) {
var callbackId = lastId++;
callbacks[callbackId] = callback || function() {};
return callbackId;
}
},
processResponse: {
value: function(callbackId, args) {
var callback = callbacks[callbackId];
2013-12-02 18:06:18 +04:00
2014-02-05 14:09:23 +04:00
if (callback) {
2013-12-02 18:06:18 +04:00
callback.apply(null, args);
}
delete callbacks[callbackId];
}
},
removeResponseCallbackEntry: {
value: function(callbackId) {
delete callbacks[callbackId];
}
}
});
};