Solo estoy haciendo una calculadora realmente simple y configurando el texto de retorno para que se imprima en la pantalla para el usuario. Es algo realmente simple, y he pasado cadenas para indicar montones de veces. ¿Por qué recibo este error?
Aquí está el bloque de código relevante: (vea los comentarios para los números de línea que se alinean con el mensaje de error
crcl = (((140 - age) * idbw) / (0.814 * creatinine)) * cockcroftFactor crclRounded = Math.round(crcl) setCreatinineClearance(crclRounded); if (crcl < 20 && weight >= 40 && weight <= 110) { setInterval("48-hourly, take trough level before the first dose"); } else if (crcl >= 20 && crcl <= 60 && weight >= 40 && weight <= 110) { setInterval("24-hourly, take trough level before the third dose"); //this is line 131 } else if (crcl >= 60 && weight >= 40 && weight <= 110) { setInterval("12-hourly, take trough level before the fourth dose"); //this is line 133 } if (weight < 40) { //this is line 135 alert("Please contact infectious diseases for dosing in underweight patients"); closeDialog(); return; } else if ((weight >= 40) && (weight <= 49)) { setDose("750") } else if ((weight >= 50) && (weight <= 64)) { setDose("1000") } etc.....EDITAR : Correcto, por el comentario de @Etheryte, me di cuenta de que tenía la intención de que setInterval fuera el nombre de la función setState . Extrañé eso por completo. Dado que setInterval es un nombre para una función que ya existe, supongo que solo necesita usar un nombre diferente para su función setState .
Puede pasar una función, no una cadena, a setInterval para hacer que el navegador (o nodejs) ejecute la función pasada en un intervalo determinado que pasa como segundo argumento. Tú tampoco has pasado.
Supongo que la razón por la que dice "evaluación implícita" es que pasó una cadena y cree que espera que analice la cadena en javascript y la evalúe como js, lo cual no es seguro, y se niega a hacerlo.
A continuación se muestra un ejemplo del uso de setInterval .
setInterval(() => { console.log("Hello!") }, 1000)