Tengo el siguiente problema:
const barcodeValue = element.dataset.barcode; // the above value is sent as an argument to be verified by the function below.. if(!barcodeValue){ // run code } ahora dataset.barcode proviene de la base de datos... actualmente en el esquema, el código de barras del campo no existe. Así que no sé qué valor entra en el valor del código de barcodeValue , pero supuse que no estaba undefined y la consola. Lo registró y lo confirmó.
sin embargo, si agrego el campo de código de barras en la base de datos y lo mantengo vacío, el valor del código de barras se trata como falso y funciona bien... por lo que el valor de un campo vacío es falso pero el valor del campo inexistente (aunque se muestra undefined ) no es falso..
Pero si el campo de código de barras no existe en la base de datos, asumí que no estaría undefined y aún funcionaría. Pero no es así... Traté de googlear esto pero no pude encontrar una explicación...
Si la pregunta anterior no lo enoja (como lo hizo mi consulta anterior) y puede tratarla como una consulta genuina, agradecería alguna orientación.
Aquí está el botón
<button class="btn ticket__print-ticket" data-id=${user._id} data-barcode=${user.barcode}> Print Ticket </button> </div>Aquí está el argumento que se envía en el evento
if (modalContent) { modalContent.addEventListener("click", function(e) { e.preventDefault(); if (e.target.closest(".ticket__print-ticket")) { const printTicketBtn = e.target; const id = printTicketBtn.dataset.id; const barcode = printTicketBtn.dataset.barcode; console.log(id, barcode); printTicket(barcode); } Y aquí está el código que no responde cuando el campo de la base de datos no existe (aunque se muestra como undefined cuando lo consuelo. Lo registro)
export const printTicket = async function(barcode) { // console.log(barcode) if (!barcode) { console.log("in"); showMessage( "Ticket Not Ready", "The ticket process requires approval and should be completed soon. You will have a response soon. However you can show the QR Code at the Entrance and generate the ticket immediately" ); return; }