How can I listen to the messages coming from window.postMessage
only for amount of time?
I tried to use setTimeout
inside the the event listener's function but this doesn't work.
My try:
function processMessages(message) {
//setTimeout(function() {
if (message) {
console.log("you have a message");
} else {
console.log("no messages came"); //<=== I can't get here!
}
//},10000);
window.removeEventListener("message", processMessages, false);
}
window.addEventListener("message", processMessages, false);
Rearrange your code to place .removeEventListener()
call within setTimeout()
, which does not need to be within processMessage
function
function processMessages(message) {
if (message) {
console.log("you have a message");
} else {
console.log("no messages came"); //<=== I can't get here!
}
}
window.addEventListener("message", processMessages, false);
var timeout = setTimeout(function() {
window.removeEventListener("message", processMessages, false);
}, 10000);