let callbackCounter = 0;
let promiseMain = new Promise((resolve, reject) => {
reg.onupdatefound = (e) => {
callbackCounter++;
// The first "update" happens for the original script,
// and isn't what we're interested in measuring.
if (callbackCounter == 2) {
resolve(performance.now());
}
};
});
let content = document.getElementById("content");
let iframe = document.createElement("iframe"); iframe.setAttribute("src", "./fwd_messages_upward.html");
content.appendChild(iframe);
await new Promise(res => iframe.onload = res);
let begin_ts = performance.now();
await reg.update();
let endUpdate_ts = performance.now();
let endMainCallback_ts = await promiseMain;
let endSWCallback_ts = await promiseSW;
let pdata = await stopProfiler();
let internals_ms = inspectProfile(pdata, [ "ServiceWorkerRegistration::Update", "ServiceWorkerRegistration::Update (inner)", "ServiceWorkerUpdateJob::AsyncExecute", "ServiceWorkerUpdateJob::Update", "ServiceWorkerUpdateJob::Install"
]);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.