Here's an example of a JavaScript function that creates a typing effect for on going response text result. It finishes printing out the previous typing effect as soon as there is new response of text. let currentText = ''; let typingInterval; function typeWriter(text) { if (typingInterval) clearInterval(typingInterval); let index = 0; const typingSpeed = 50; currentText = ''; typingInterval = setInterval(() => { if (index < text.length) { currentText += text.charAt(index); index++; console.log(currentText); // replace with your own logic to display the typing effect } else { clearInterval(typingInterval); } }, typingSpeed); } To use this function, simply call it with the response text: typeWriter('This is the response text.'); // example usage This code creates a setInterval function that fires every 50 milliseconds to add one character at a time to the currentText variable. The console.log statement can be replaced with custom code to display the typing effect in your application. If there is new response text while the typing effect is still in progress, the function clears the previous setInterval and starts typing the new text from the beginning.