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