Skip to content

Commit 2614818

Browse files
committed
Add support for Scheduler#postTask
1 parent b4c5069 commit 2614818

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

core/src/main/scala/org/scalajs/macrotaskexecutor/MacrotaskExecutor.scala

+13-6
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,19 @@ object MacrotaskExecutor extends ExecutionContextExecutor {
3535
cause.printStackTrace()
3636

3737
private[this] val setImmediate: (() => Unit) => Unit = {
38-
if (js.typeOf(js.Dynamic.global.setImmediate) == Undefined) {
38+
if (js.typeOf(js.Dynamic.global.setImmediate) != Undefined) {
39+
{ k =>
40+
js.Dynamic.global.setImmediate(k)
41+
()
42+
}
43+
} else if (js.typeOf(js.Dynamic.global.scheduler) != Undefined
44+
&& js.typeOf(js.Dynamic.global.scheduler.postTask) != Undefined) {
45+
{ k =>
46+
js.Dynamic.global.scheduler.postTask(k)
47+
()
48+
}
49+
} else {
50+
3951
var nextHandle = 1
4052
val tasksByHandle = mutable.Map[Int, () => Unit]()
4153
var currentlyRunningATask = false
@@ -157,11 +169,6 @@ object MacrotaskExecutor extends ExecutionContextExecutor {
157169
()
158170
}
159171
}
160-
} else {
161-
{ k =>
162-
js.Dynamic.global.setImmediate(k)
163-
()
164-
}
165172
}
166173
}
167174

0 commit comments

Comments
 (0)