file_promise_and_timeout_ordering.js (350B)
1 var log = []; 2 var resolvedPromise = Promise.resolve(null); 3 function schedulePromiseTask(f) { 4 resolvedPromise.then(f); 5 } 6 7 setTimeout(function () { 8 log.push("t1start"); 9 schedulePromiseTask(function () { 10 log.push("promise"); 11 }); 12 log.push("t1end"); 13 }, 10); 14 15 setTimeout(function () { 16 log.push("t2"); 17 postMessage(log.join(", ")); 18 }, 10);