Tengo el siguiente script en mi VueJs2 Store Config, y sospecho que la declaración if a continuación está causando una carga adicional, incluso si no se activa, pero no estoy seguro:
if(response.status === 204) { addToastMessage(I18n.t('library.withdrawal.errors.already_noted'), 'is-info'); createDiv(); const btn = document.createElement("button"); addBtnAttributes(btn); btn.addEventListener("click", function() { commit('changeBookLoading', true); fetchNextTicket(response); commit('changeBookLoading', false); }); }Siendo nuevo en las pruebas en JS en general, me gustaría escuchar sugerencias sobre los mejores métodos de evaluación comparativa y depuración de esto, se agradece cualquier sugerencia.
Función completa:
function loadBook(commit, dispatch, method, id=null) { commit('changeBookLoading', true); dispatch(method, id) .then((response) => { if(response.status === 204) { addToastMessage(I18n.t('library.withdrawal.errors.already_noted'), 'is-info'); createDiv(); const btn = document.createElement("button"); addBtnAttributes(btn); btn.addEventListener("click", function() { commit('changeBookLoading', true); fetchNextTicket(response); commit('changeBookLoading', false); }); } const bookId = response.data[0].localBook.id; if (bookId !== locationBookId()) { history.pushState({}, `Book ${bookId}`, `/lib/book/${bookId}`); } commit('changeCurrentBookId', ticketId); commit('changeBookEi', null); commit('changeCurrentBook', null); }) .catch((err) => { // show some global error }) .finally(() => commit('changeLibraryLoading', false)); }Puedes medir el tiempo de ejecución de cualquier bloque de código con:
console.time('some measure'); ...... ...... console.timeEnd('some measure');Y obtendrá una salida de consola como: alguna medida: 0.0126953125 ms Solo necesita poner su código entre la hora y la hora de finalización de llamadas.