[英]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.