wait-for-messages.js (476B)
1 // Asynchronous function that waits for the given number of messages to be 2 // received by `window`, then returns those messages. 3 function waitForMessages(numMessages) { 4 return new Promise((resolve) => { 5 const messages = []; 6 7 window.addEventListener("message", function handler(evt) { 8 messages.push(evt.data); 9 if (messages.length == numMessages) { 10 window.removeEventListener("message", handler); 11 resolve(messages); 12 } 13 }); 14 }); 15 }