Soy nuevo en async/await en JS. Esta es una aplicación de reacción iónica que estoy viendo y no estoy seguro de lo que hace. ¿Alguien me lo puede explicar como si tuviera 5 años?
const handleClick = async(e, operator) => { if(operator == "MC"){ if(isPlatform("android")){ await Storage.remove({key:'history'}) }else{ window.localStorage.removeItem("history") } return false }else if(operator == "MR"){ let storage = "" let parse = "" if(isPlatform("android")){ let storage = await Storage.get({key:'history'}) parse = JSON.parse(storage.value) }else{ let storage = await window.localStorage.getItem("history") parse = JSON.parse(storage) } setSumHistory(parse[0].expration) return false }}Dado que solicita una aclaración para async/await, cubriré esa parte.
Si agrega async a una función, esto significa que la función siempre devolverá una promesa. https://javascript.info/async-await
La función handleClick esperará en las siguientes líneas para que se resuelva o rechace una promesa.
await Storage.remove({key:'history'}) .... let storage = await Storage.get({key:'history'}) .... let storage = await window.localStorage.getItem("history")Si una de estas llamadas es rechazada, handleClick arrojará un error ya que no hay un bloque de prueba/captura alrededor de estas llamadas en espera. https://javascript.info/try-catch
Espero que esto lo ayude a comprender mejor la espera asíncrona en este bloque de código.
si hay una línea que necesita tiempo para resolverse y la siguiente línea depende de los resultados de esa línea de código, debe esperar a que se complete esa línea devolviendo una promesa . y para decirle a la función que hay una línea que debe resolver que devolverá una promesa que necesita para agregar async a esa función.