Skip to content

Commit 54ecaa1

Browse files
Switch back to microticks for scheduling
1 parent 833d7de commit 54ecaa1

File tree

3 files changed

+5
-27
lines changed

3 files changed

+5
-27
lines changed

src/component.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { assign } from './util';
22
import { diff, commitRoot } from './diff/index';
33
import options from './options';
44
import { Fragment } from './create-element';
5-
import { inEvent } from './diff/props';
65

76
/**
87
* Base Component class. Provides `setState()` and `forceUpdate()`, which
@@ -184,17 +183,10 @@ let rerenderQueue = [];
184183

185184
let prevDebounce;
186185

187-
const microTick =
186+
const defer =
188187
typeof Promise == 'function'
189188
? Promise.prototype.then.bind(Promise.resolve())
190189
: setTimeout;
191-
function defer(cb) {
192-
if (inEvent) {
193-
setTimeout(cb);
194-
} else {
195-
microTick(cb);
196-
}
197-
}
198190

199191
/**
200192
* Enqueue a rerender of a component
@@ -209,7 +201,7 @@ export function enqueueRender(c) {
209201
prevDebounce !== options.debounceRendering
210202
) {
211203
prevDebounce = options.debounceRendering;
212-
(prevDebounce || defer)(process, inEvent);
204+
(prevDebounce || defer)(process);
213205
}
214206
}
215207

src/diff/props.js

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -143,29 +143,15 @@ export function setProperty(dom, name, value, oldValue, isSvg) {
143143
}
144144
}
145145

146-
export let inEvent = false;
147-
148146
/**
149147
* Proxy an event to hooked event handlers
150148
* @param {Event} e The event object from the browser
151149
* @private
152150
*/
153151
function eventProxy(e) {
154-
inEvent = true;
155-
try {
156-
return this._listeners[e.type + false](
157-
options.event ? options.event(e) : e
158-
);
159-
} finally {
160-
inEvent = false;
161-
}
152+
return this._listeners[e.type + false](options.event ? options.event(e) : e);
162153
}
163154

164155
function eventProxyCapture(e) {
165-
inEvent = true;
166-
try {
167-
return this._listeners[e.type + true](options.event ? options.event(e) : e);
168-
} finally {
169-
inEvent = false;
170-
}
156+
return this._listeners[e.type + true](options.event ? options.event(e) : e);
171157
}

src/index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ export interface Options {
331331
diffed?(vnode: VNode): void;
332332
event?(e: Event): any;
333333
requestAnimationFrame?(callback: () => void): void;
334-
debounceRendering?(cb: () => void, inEvent: boolean): void;
334+
debounceRendering?(cb: () => void): void;
335335
useDebugValue?(value: string | number): void;
336336
_addHookName?(name: string | number): void;
337337
__suspenseDidResolve?(vnode: VNode, cb: () => void): void;

0 commit comments

Comments
 (0)