プロメサスについて
チェンディニス
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結論
デラ・ミマス・マラ時代のプロメサス・ファンシオネ・エ・ラ・ヴィダ『真の女神』について
プエフ・レゾーヌ『アホラ』としての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ポンダーEmpezar
x
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参照
結論
- 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.
Reference
この問題について(プロメサスについて), 我々は、より多くの情報をここで見つけました https://dev.to/duxtech/es6-promesas-en-javascript-5bpbテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol