簡體   English   中英

如何在node.js中獲得實例名稱

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

可能是使用名稱的想法不好。 也將非常歡迎提出建議,使用什么代替並且易於處理。

有兩種不涉及隊列名稱的可能方法。

  1. 讓您的隊列對象充當EventEmitter ,因此您的主程序創建隊列的實例,然后在其上注冊一個事件偵聽器:

     var orderQueue = new queue(); queue.on("processed", function() { // Do something when this specific queue has been emptied }); 
  2. 或者,將對象對象作為事件數據傳遞:

     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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM