提交 4ae48922 编写于 作者: J Joao Moreno

event: once should beware of sync events

上级 41c0ba49
......@@ -305,11 +305,22 @@ export function toNativePromise<T>(event: Event<T>): Thenable<T> {
export function once<T>(event: Event<T>): Event<T> {
return (listener, thisArgs = null, disposables?) => {
let sync = false;
const result = event(e => {
result.dispose();
if (result) {
result.dispose();
} else {
sync = true;
}
return listener.call(thisArgs, e);
}, null, disposables);
if (sync) {
result.dispose();
}
return result;
};
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册