gecko-dev/dom/workers/test/WorkerDebugger_promise_work...

26 строки
805 B
JavaScript

"use strict";
self.onmessage = function (event) {
if (event.data !== "resolve") {
return;
}
// This then-handler should be executed inside the top-level event loop,
// within the context of the worker's global.
Promise.resolve().then(function () {
self.onmessage = function (event) {
if (event.data !== "pause") {
return;
}
// This then-handler should be executed inside the top-level event loop,
// within the context of the worker's global. Because the debugger
// statement here below enters a nested event loop, the then-handler
// should not be executed until the debugger statement returns.
Promise.resolve().then(function () {
postMessage("resumed");
});
debugger;
}
postMessage("resolved");
});
};