JSFiddle - React, Tailwind, and code Playground

HTML

<button id="raf">
Open popup RAF
</button>
<button id="ontime">
Open popup setTimeout 1000ms
</button>
<button id="toolate">
Open popup setTimeout 1001ms
</button>
<button id="promise">
Open popup Promise.then
</button>

JavaScript

var ow = window;
document.querySelector('#raf').onclick = function() {
	requestAnimationFrame(()=>{
   	debugger
		ow.open('https://www.google.com');
    setTimeout(()=>{
   	  debugger
			window.open('https://www.google.com');
	  }, 1);

  });
};

document.querySelector('#ontime').onclick = function() {
	setTimeout(()=>{
		window.open('https://www.google.com');
  }, 1000);
};

document.querySelector('#toolate').onclick = function() {
	setTimeout(()=>{
		window.open('https://www.google.com');
  }, 1001);
};

document.querySelector('#promise').onclick = function() {
	Promise.resolve().then(()=>{
		window.open('https://www.google.com');
  });
};