プロメサスについて



チェンディニス
  • Ejecución de código en Javascript
  • ¿Qué es una operación asíncrona?
  • ¿Qué es una promesa?
  • Estados de una promesa
  • Manipulación de promesas
  • Creación de promesas
  • Consumir promesas
  • Encadenamiento de promesas
  • Promesas paralelas vs Promesas en serie
  • Ejemplos prácticos con promesas
  • Referencias
  • Conclusiones

  • 1 . JavaScriptのEjecuci

    Javascript es un lenguaje de programación cuya ejecución de código se lo realiza de arriba hacia abajo y en orden consecutivo, en otras palabras, línea por línea. Por ejemplo:

    const getNombre = (nombre) => {
      console.log(`Hola ${nombre}`);
    }
    
    getNombre("Carlos")
    getNombre("Ana")
    getNombre("Susana")
    /*
    "Hola Carlos"
    "Hola Ana"
    "Hola Susana"
    */
    

    Este pequeño código nos regresa por consola un saludo a Carlos, Ana y Susana en ese orden, por que así es como estamos llamando a las funciones. Este es el comportamiento por defecto de javascript.


    二・完- Ncronaとして

    JavaScript es un lenguaje de un solo hilo, esto lo hace síncrono, osea, solo puede ejecutar una tarea a la vez.
    Una operación es asíncrona cuando esta puede realizarse al mismo tiempo que otros eventos independiente al flujo principal de la aplicación.
    El ejemplo más común de una operación asíncrona es la llamada a una API, está llamada demorará un tiempo x en devolver una respuesta a la aplicación y mientras esto suceda el sistema no debe paralizarse, debe continuar funcionando.


    三・完

    Antes de lanzar la típica definición de una promesa que puedes encontrar en cualquier blog prefiero hacer una simple analogía para que se comprenda mejor.

    ¿Qué es una promesa en la vida real?

    Imagina que estás leyendo Yo Robot del maestro de la ciencia ficción Isaac Asimov


    Enonces dices algo como :「プロメートque acabarは、leerエステLibro en 1 Semana」を好みます
    ディカプロメサソロプエードテナー2結論
  • Pasada Nuna semana efectivamente acabas de leer el libro , por tanto la promesa fue cumplida
  • DuranteトダESA Semana Tuvste Machos deberes y Ex Are Menes entonces no pudiste acabar de leer el libro,por ende,la promesa que hiciste no fue cumplida
  • いいえ干し草Otra Opciは、n、カボデd na Semana si o susuderは、lo o uno o o lo otro.
    デラ・ミマス・マラ時代のプロメサス・ファンシオネ・エ・ラ・ヴィダ『真の女神』について
    プエフ・レゾーヌ『アホラ』としてのNaujeto que Representa Nuna operaci des n

    エナドスデナプロメサ

    En esencia una promesa puede tener 3 estados:


  • 果てしてください:proproa fue満足するo cumplidaを意味してください.

  • 拒絶する:Quiereデカールque la promesa no fue cumplida.

  • 保留中:esエルestadoインディオde una promesa、hasta que no se cumpla el tiempo estipulado de espera una promesa estar no penpenente

  • 5 .プロメメーサの操作

    Cuando hablamos de promesas hay 2 maneras de usarlas o manipularlas en nuestro código:

    • Crear una promesa
    • Consumir una promesa

    En la práctica casi nunca crearemos promesas, por lo general nos la pasaremos consumiendolas


    6 .プロセサとクレーム

    Para crear una promesa debemos usar el objeto Promise de la siguiente manera:

    const promise = new Promise ((resolve, reject) => {
      let isTrue = true;
      if(isTrue){
        setTimeout(() => {
          resolve("Promesa cumplida");
        },3000)
      }else{
        reject("Promesa rechazada");
      }
    });
    
    

    Como puedes observar una promesa recibe 2 funciones como parámetros, resolve se ejecutará cuando la promesa se cumpla y reject cuando la promesa no se cumpla.
    En nuestro caso si la variable let isTrue = true entonces se llamará a resolve , caso contrario se llamaría a reject .

    Ahora, ¿cómo podemos usar esta promesa? Debemos aprender a consumirla.


    消耗品

    Para consumir una promesa debemos tener bien en cuenta que las promesas tienen 3 métodos indispensables para su consumo:

    • then() se encarga de evaluar el caso cuando la promesa se cumpla.
    • catch() atrapa los errores en caso de que la promesa falle.
    • finally() se ejecuta siempre, independientemente si la promesa se cumplió o no.

    Para consumir la promesa del ejemplo pasado, podríamos hacer lo siguiente:

    promise
      .then((mensaje) => console.log(mensaje))
      .catch((error) => console.log(error))
    

    Como la promesa se cumple, entonces se ejecuta el método .then() e imprime en la consola "Promesa cumplida" después de 3 segundos.

    El ejemplo completo se vería de la siguiente manera:

    const promise = new Promise ((resolve, reject) => {
      let isTrue = true;
      if(isTrue){
        setTimeout(() => {
          resolve("Promesa cumplida");
        },3000)
      }else{
        reject("Promesa rechazada");
      }
    });
    
    promise
      .then((mensaje) => console.log(mensaje))
      .catch((error) => console.log(error))
    
    // "Promesa cumplida" (este mensaje se verá después de 3 seg)
    

    8 .プロメサについて

    En la práctica la mayoría de las promesas se encadenan, esto resulta muy útil y además es muy sencillo hacerlo. Solo debemos usar un then() después del otro y asegurarnos de escribir un return entre ellos. Por ejemplo:

    Cuando encadenamos promesas es importante usar siempre un return


    プロメサス・パラリス
    プロメサスエヌセリエ
    <研究ノート>パタドゥーのパサドに対する実験的考察:その前提として
    <研究報告>プレグネータにおけるPer - Ejplen de 10 , Per Per Reresponder la pregunta 5 necesitas as si o si la respuesta de la gunta 4
    アホラ・イマジン『トママ10人のメヌトス』をめぐってENの合計は、Ambasエヌ15 minutosを受けます.
    エステes国連claroエジェープロオデNuna Serie、donde paraポンダーEmpezarx necesitas terminary .
    Sigamos - Conn - la - a - a - a - a - Treamta - Non - Estro - Extra - en - noto toma 3 minutos y la pregunta 8 NOS Too 5 minutos , Amira preguntas no ' s従属性, Ahora , Alno - preder Nan de la Otra no Ser .カウトタルタルダリアン応答Ambas?Si dijiste 5 minutos dejame decentte que entendiste el jejo a a la complete ci n .
    <資料>アル・イガヤ・ケイトの『ユング』について<研究ノート>アヴェ・プエノの意義についての一考察
    プロヴァーサエヌセリエにおけるエホプラコ

    Es este ejemplo asumimos que para poder responder una pregunta primero debemos responder su antecesora, todas las preguntas son dependientes, por ende empleamos encadenamiento de promesas



    プロメスメス・パラ
    パラポルレゾルバ問題Promise.all() y pasarle un arreglo con todas nuestras promesasの評価デestaマナtodasラスPromesas se Ejecutar
    <研究ノート>オーラ・オトラスに依存していたプロメーザスの概念について

    10 . ejecs pr len cticos con promesas

    Ahora veremos un poco más de las promesas resolviendo algunos ejercicios:

    • Realizar una función que genere un número random entre 0 y 10, cuando el número sea menor o igual 5 la promesa debe ser resuelta, caso contrario debe ser rechazada. Independientemente del resultado de la promesa mostrar el mensaje "Promesa acabada" para indicar que el proceso terminó

    • Realizar una llamada tipo get a la API de json placeholder usando promesas


    11参照
  • https://www.arsys.es/blog/promesas-javascript/
  • https://lenguajejs.com/javascript/asincronia/promesas/


  • 結論
    • El código en javascript se ejecuta secuencialmente, línea por línea de arriba hacia abajo.
    • Una operación asíncrona rompe con el flujo normal del código, por ejemplo la llamada a una API.
    • Una promesa es un objeto que representa una operación asíncrona que puede resolverse ahora, en un futuro o nunca
    • Una promesa tiene 3 estados: fulfill, reject, pending.
    • Una promesa tiene 3 métodos básicos: then() , catch() , finally()
    • resolve se usa cuando una promesa se resuelve.
    • reject cuando la promesa termina con errores.
    • Se puede manipular promesas de 2 maneras: creandolas y consumiendolas.
    • El encadenamiento de promesas es normal y bastante usado.
    • Las promesas en serie se resuelven una detrás de la otra, tardan más tiempo en concluir.
    • Las promesas en paralelo usan el método all() para que se resuelvan todas al mismo tiempo, super útiles para optimizar acciones síncronas.