簡體   English   中英

等待來自事件的變量

[英]Await a variable from an event

我正在嘗試編寫一個交互式界面的代碼,為此我在 class 中使用 readline & process.stdin 收聽關鍵輸入。我現在的代碼是

Console.on('input', (input) => {
    console.log(input); // Return a key Input
    process.exit(0)
})

我希望能夠做的是在等待中異常地收聽事件。 所以我可以通過等待下一個用戶輸入來當場定義變量。 例子:

var input = await event(Console, 'input');
console.log(input);
/* 
   event on this case would be a custom functions suggested since i don't know how
   i could do that properly . . .
*/

有沒有辦法以某種方式做到這一點? 如果我的問題不是,請告訴我

假設您使用on方法off了 go,是的, event可能如下所示:

function event(source, eventName) {
    return new Promise((resolve) => {
        const handler = (value) => {
            resolve(value);
            source.off(eventName, handler);
        };
        source.on(eventName, handler);
    });
}

這會創建一個 promise 並訂閱該事件。 下次事件發生時,處理程序使用它收到的任何值(該部分是可選的)來滿足 promise 並取消訂閱該事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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