¿Qué es una Promesa? Promesas de JavaScript cho nguyên tắc.


Artículo original escrito bởi Kingsley Ubah
Nghệ thuật gốc Lời hứa là gì? Lời hứa JavaScript cho người mới bắt đầu
Traducido và Adaptado por Julio Vargas

Nếu đó là một nguyên tắc về JavaScript, bạn có thể cho rằng đó là một bước tiến lớn để tham gia thực tế.

Recientemente publicliqué esto como un hilo trên Twitter và sẽ nhận được câu trả lời. Entonces quyết định mở rộng hướng dẫn này để giới thiệu về promesas de JavaScript.

Anh ấy đã giải thích cho một montón de artículos sobre promesas y el problem es que muchas de estas guías no las liban de una form enendable. La gente no entiende lo que es una promesa en JavaScript porque realente no saben de que se trata y como se comporta de una manera simple y en términos entendibles.

Entonces, en este artículo, te estaré contando una history that explica que son precisionamente las promesas y aso funcionan precisionamente. También te voy a mostrar como usarlas en JavaScript with algunos ejemplos.

¿Qué es una promesa en JavaScript?

Tưởng tượng rằng estás entrevistando gente que busca emmpleo en tu compañía.

Un hombre joven entra frenéticamente a la enrevista, khi bạn lần lượt trở thành một punto de llegar, se da cuenta de que olvidó su Currículo.

Sería un fastididio ¿verdad?

Tội lỗi cấm vận, không có đe dọa. Por suerte, para él, tiene un compañero que aún está en casa en ese momento.

Lo llama nhanh chóng và le pide ayuda, le suplica que le ayude a entrar su Currículo. Bạn đồng hành với PROMETE enviar một mensaje de texto tan ngay tenga algo để báo cáo.

Asumiendo que el Currículo es Entrado Finalmente, Podría escribirle:

“!Listo, encontré tu Currículo¡”

Nếu không phải là encuentra, se supone que mandará un mensaje de texto reportando la razón por la que no pudo entrar su Currículo. Ví dụ, bạn có thể ghen tị với người đàn ông của mình để bạn bè của bạn được mời tham gia

“Lo siento, no pude encontrar tu Currículo porque no encontré la llave de tu caja fuerte.”

Trong hầu hết các trường hợp, những người tham gia tiếp tục theo dõi các kế hoạch và người tham gia tiếp tục ủng hộ chương trình giảng dạy tương phản, không có chương trình giảng dạy nào. Tại thời điểm này, người tham gia đã tạo ra một chương trình giảng dạy như PENDIENTE của người tham gia.

Đọc thêm  Đệ quy là gì? Một hàm đệ quy được giải thích bằng các ví dụ về mã JavaScript

En enrevistado replye todas las preguntas que le hacen. Sau một thời gian cuối cùng, người sử dụng phụ thuộc nhiều nhất vào ESTADO CUỐI CÙNG của chương trình học.

Finalmente su compañero le escribe. Como lo habiamos discutido antes, Si él no encuentra el Currículo, te lo dirá junto como la razón de porque no lo encontró.

Nếu bạn thành công, việc đăng nhập cuối cùng sẽ kết thúc và el enrevistado sería.

Por otro lado, si su compañero encuentra el Currículo, le diría muy felizmente que cumlió con su cometido y que puede seguir adelante and CUMPLIR sus esperanzas de Conseguir el trabajo.

¿Entonces como se traslada isto JavaScript?

Công ty đang tiến hành tương phản với chương trình giảng dạy và bản ghi, là sinónimo de como definimos una promesa en JavaScript. El hasdigo no devuelve directa o inmediatamente un valor, en vez de eso devuelve una promesa de que lastente nos retornará el valor afteriormente.

Một promesa es asincrónica, điều quan trọng là cần thiết phải có thời gian để giải quyết hoặc hoàn thiện. Justamente como la búsqueda del Currículo tomó tiempo.

Vì vậy, người đăng ký quyết định không hoàn thành thời gian, bắt đầu mời một người đăng ký là ứng cử viên dựa trên lời hứa rằng chương trình học của anh ấy sẽ được thông qua. Estamos utilizando la promesa de traer un chương trình giảng dạy và lugar del chương trình giảng dạy.

Động cơ JavaScript tampoco xuyên qua thời gian, nó bắt đầu thoát ra khỏi các bộ phận có cơ hội, và đặc biệt là nhà phát triển dũng cảm của promesa.

Phần tiếp theo của văn bản được tạo ra từ chương trình giáo dục bú sữa. Với một lời đề nghị của JavaScript, điều đó có nghĩa là bạn sẽ có được “sự phát triển mạnh mẽ”.

Nếu cuộc gọi là “éxito”, quy trình ngược lại ứng cử viên sẽ thừa nhận el puesto. Nếu thất bại, rechazamos su candidatura.

Con las promesas de JavaScript hacemos isto usando una función callback (gestores de promesas). Các chức năng được xác định trong phương pháp anidadothen().

Để đặc biệt sử dụng callbacks, usa las siguientes funciones:

  • resolve(value): Esta indica que la tarea asincrónica se realizó correctamente. Esto ejecutará el callback de cumlimiento en el controlador then().
  • reject(error): Esta indica un error mientras se aima realizar la tarea asincrónica. Esta ejecutará el callback de error en el controlador then().

Nếu nó được cho là cumple, el callback de cumplimiento se ejecutará, de lo ngược lại se ejecuta el callback de error.

Đọc thêm  So sánh chuỗi JavaScript – Cách so sánh chuỗi trong JS

Một lời hứa là một văn bản tạm thời đơn giản cho một mục đích không chính xác mà bạn không thể hoàn thành. Cuando định nghĩa una promesa en tu script, en vez de volver un valor inmediatamente, esta devuelve una promesa.

Như một bản viết promesa trong JavaScript.

Puedes xác định một promesa trong JavaScript llamando a la clase Promise y construyendo un objeto, así:

const miPromesa = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('este es el valor que eventualmente devolverá la promesa');
  }, 300);
});

console.log(miPromesa);
Ví dụ

Ejecutar esto en la consola, devolverá un objeto Promise:

lời hứa-bảng điều khiển-1

Ngoài ra, việc tạo ra một đối tượng không phải là única forma definir una promesa. También puedes usar la API incorporada Promise para logar lo mismo:

const otraPromesa = Promise.resolve("este es el valor que eventualmente devolverá la promesa")

console.log(otraPromesa);
Ejemeplo dos

Mientras que la promesa en el primer ejemplo esperará 3 segundos antes de cumplir la promesa con el mensaje este es el mensaje que eventual...la promesa en el segundo ejemplo cumplirá inmediatamente y with el mismo mensaje.

Promesas rechazadas trong JavaScript.

Una promesa también puede ser rechazada. La thị trưởng trong thời gian, se rechazan por JS encuentra algún tipo de error mientras ejecuta el codigo asincrónico. En ese escenario, llama la función reject().

Mira un ejemplo simple e phát minh como una promesa puede ser rechazada:

const miPromesa = new Promise((resolve, reject) => {
  let a = false;
  setTimeout(() => {
    return (a) ? resolve('se encontró a'): reject('lo siento, no se encontró a');
  }, 300);
}); 




Ví dụ

¿Puedes entrar la razón por la cual esta promesa es rechazada? Nếu dijiste “porque a không es sai” !Felicaciones¡

La promesa en el tercer ejemplo se resolverá con un rechazo, después de un tiempo de espera de 3 segundos, porque la claracación (a)? se resuelve en falso, lo que desencadenará reject.

Como encadenar promesas con then()

Cuando cuối cùng là promesa devuelva un valor, normalmente querrás hacer algo con ese valor devuelto.

Ví dụ, nếu bạn có quyền yêu cầu màu đỏ, bạn nên truy cập vào giá trị của mình và hầu hết xuất hiện trên trang cho người sử dụng.

Đọc thêm  Thành phần chức năng trong JavaScript

Puedes definir las dos funciones callback que quieres llamar cuando una promesa se cumple o se rechaza. Các chức năng được xác định trong một phương pháp then() anidado:

const otraPromesa = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('este es el valor eventual que devolverá la promesa');
  }, 300);
});

// CONTINUACIÓN
otraPromesa
.then(value => { console.log(value) }) 
Ví dụ

Ejecutar el código anterior, mostrará el mensaje de cumplimiento en la consola, después de tres segundos:

SỰ KIỆN-TRẢ LẠI
‘este es el valor endual que devolverá la promesa’

Ten en cuenta que puedes anidar tantas promesas como quieras. Cada paso se ejecutará después del paso anterior, tomando el valor devuelto de ese paso anterior:

const otraPromesa = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('este es el valor que eventualmente devolverá la promesa');
  }, 300);
});

otraPromesa
.then(fulfillFn, rejectFn)
.then(fulfilFn, rejectFn)
.then(value => { console.log(value) })
Ejemplo cinco

Vì vậy, nó không phải là điều quan trọng.

Mantén siempre en mente que el method then() debe tomar ambos valores, el manipulador de cumplimiento and el de rechazo. De esta forma, el primero es llamado si la promesa se cumple and el segundo si la promesa es rechazada con un error.

Las promesas en los ejemplos cuatro y cinco no incluyen un segundo controlador. Entonces, asumiendo que se encuentra a error, no habrá un manipulador de rechazo para dicho error.

Si solo vas a definir una función callback (también conocida como un manipulador de cumplimiento) en then()después necesitarás anidar un method catch() en el the final de la cadena de promesas para detectar cualquier posable error.

Cách sử dụng phương pháp catch() en JS.

phương phápcatch() siempre será llamado cuando quiera que se encuentre un error en cualquier punto a lo largo de la cadena de promesas:

const miPromesa = new Promise((resolve, reject) => {
  let a = false;
  setTimeout(() => {
    return (a) ? resolve('se encontró a'): reject('lo siento, no se encontró a');
  }, 300);
}); 

myPromise
.then(value => { console.log(value) })
.catch(err => { console.log(err) });


Ejemplo seis

dado que myPromise cuối cùng nó sẽ giải quyết như một cuộc gọi lại chức năng được xác định trong đó then() anidado será bỏ qua. En su lugar el manipulador se ejecutará catch() lo que debería mostrar el siguiente mensaje de error en la consola:

Nắm lấy
“lo siento, no se encontró a”

Bến cuối.

Các ưu đãi của JavaScript có thể là một đặc điểm có thể khiến bạn trở thành một ứng dụng có kỹ năng asincrónico trong JavaScript. Trong thị trưởng, không có tất cả những người tham gia cho những người đã sử dụng JS, người tham gia có thể đã trở thành một người tiền nhiệm so với những người được mời.

Trong nghệ thuật này, hãy giải thích rằng đó là một lời đề nghị về những điều đơn giản, và hầu hết bạn sử dụng ứng dụng này với những chiếc đồng hồ điện tử có sẵn.

Espero que hayas adquirido allgoutil de ste artículo. Nếu bạn quan tâm đến các hướng dẫn liên quan đến lập trình, blog của tôi đã viết (bằng tiếng Anh), thường xuyên công khai các bài viết sobre desarrollo de phần mềm.

Gracias por leer y nos vemos pronto.

vị trí: Nếu bạn đang học JavaScript, anh ấy đã tạo một Sách điện tử có 50 chủ đề trong JS với các ghi chú kỹ thuật số được phát hành bởi Miralo. (lửa lò sưởi)





Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status