Quiero llamar a una función durante el envío de una solicitud y después de recibir una respuesta con cada función fetch() usando Vanilla JS. Vi que jquery ajax proporciona algún tipo de $.ajaxsetup para hacer esto, pero quiero hacerlo con Vanilla JS. Gracias por adelantado.
fetch no tiene una característica como esa. Sin embargo, podría escribir una función contenedora:
const myFetch = async (...args) => { do_before(); const result = await fetch(...args); do_after(); return result; } y luego llame a esa función en lugar de acceder a fetch directamente.
Puede hacerlo anulando la función de búsqueda
// First rename original fetch function window.originalFetch = window.fetch // Then override fetch function with your new function window.fetch = async (... args) => { console.log("before"); // call the renamed fetch function const result = await window.originalFetch(...args); console.log("after"); return result; } // Then you can use it fetch('http://example.com/movies.json') .then(response => response.json()) .then(data => console.log(data));Explicación:
Primero, cambia el nombre de la función original, luego escribe su propia función con el mismo nombre "buscar"
Gracias a @Quentin parte del código copiado de su respuesta.