[英]How to get the NAME OF an INSTANCE in node.js
我已经在node.js中建立了一个类“ Queue”。 我需要一些队列,因此需要创建类似于“ orderQueue”的实例: var orderQueue = new queue();
。
处理队列中的最后一个元素时,该队列应发出类似“ orderQueue-processed” process.emit(instance.name + "-processed");
,应由我的主程序process.on(myobject.name + "-processed", function(){ addmorework ();});
但是到目前为止,我还没有找到如何获取实例名称的方法 。 stackoverflow中的答案对window对象有作用,但它不是Bowser,而是node.js。
可能是使用名称的想法不好。 也将非常欢迎提出建议,使用什么代替并且易于处理。
有两种不涉及队列名称的可能方法。
让您的队列对象充当EventEmitter
,因此您的主程序创建队列的实例,然后在其上注册一个事件侦听器:
var orderQueue = new queue(); queue.on("processed", function() { // Do something when this specific queue has been emptied });
或者,将对象对象作为事件数据传递:
process.emit("processed",instance);
因此,事件监听器被赋予了发出事件的队列。
您可以在创建队列时为其分配名称,然后该队列会将其存储为实例变量:
function queue(name) {
this.name = name;
// other constructor code
}
var orderQueue = new queue("orderQueue");.
然后,当队列中的方法处理了队列中的最后一个元素时,您只需从队列的实例数据中获取名称:
process.emit(this.name + "-processed");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.