Како имплементирати обећања у ЈаваСцрипт?



Обећања у ЈаваСцрипт-у у основи се користе за руковање операцијама асинхроних операција. Овај чланак ће вам помоћи да детаљно истражите концепт.

Промисес Ин се у основи користе за руковање операцијама асинхроне операције. Обећање је објекат који у будућности може произвести једну вредност: или решену вредност, или грешку.

Следећи смерници ће бити обрађени у овом чланку,





Почнимо са овим чланком о Обећањима у ЈаваСцрипт-у

Значај:

Обећања добро дођу када се мора решити више асинхроних операција. Пре него што су обећања уведена у ЈаваСцрипт, било је догађаја и функција повратног позива који су се користили за руковање асинхроним операцијама. Будући да догађаји нису много корисни у случају асинхроних операција, они нису пожељнији. Долазећи до повратног позива, њихова употреба у вишеструким количинама створила би такву збрку да је било веома тешко да било ко разуме код.
Стога су Промисес први избор сваког кодера за обраду асинхроних операција на најједноставнији начин. Имају напредне функције које им олакшавају руковање операцијама, осим повратног позива и догађаја.



  • Промисес чини код читљивим, што значи да га кодери могу уређивати и у каснијој фази развоја.
  • Постоји боље руковање током асинхроних операција у поређењу са повратним позивом и догађајем.
  • Напредно руковање грешкама такође се сматра важном карактеристиком.
  • Постоји много бољи проток дефиниције управљања у асинхроној.

Настављамо са овим чланком о Обећањима у ЈаваСцрипт-у

Тип држава:

Испуњено: Везано за она обећања која су успела.
Одбијен: У вези са оним обећањима која су одбијена.
Нерешен: У вези са оним обећањима која су на чекању, тј. Нити одбијена нити прихваћена.
Насељено: У вези са оним обећањима која се испуњавају или одбијају.

Настављамо са овим чланком о Обећањима у ЈаваСцрипт-у



Стварање обећања

Обећање се креира помоћу конструктора обећања.

Синтакса:

вар обећање = ново Промисе (функција (разрешити, одбити) {// уради нешто овде})

Параметри:
Конструктор обећања узима један аргумент, функцију повратног позива. Постоје два аргумента у функцији повратног позива, решавање или одбијање. Операције се изводе унутар функција повратног позива, ако је све прошло у реду, позив се разрешава, у супротном се позив одбија.

Настављамо са овим чланком о Обећањима у ЈаваСцрипт-у

Пример 1:

вар обећање = ново Промисе (функција (решавање, одбацивање) {/ * декларисање и дефинисање две променљиве типа података цонст са истим садржајем. * / цонст а = 'Здраво! Зовем се Иасх и занима ме рачунарска наука.' цонст б = 'Здраво! Зовем се Иасх и занима ме рачунарска наука.' // проверавам да ли су оба садржаја ускладиштена у променљивим исти или не да ли (а === б) {// позивам разрешавам решење () } елсе {// позивање одбити одбити ()}}) обећање. затим (фунцтион () {цонсоле.лог ('Промисе Ресолвед !!')}). цатцх (фунцтион () {цонсоле.лог ('Обећање одбијено !!')})

Излаз:
Излаз - Обећања у ЈаваСцрипт-у - Едурека

Настављамо са овим чланком о Обећањима у ЈаваСцрипт-у

Пример 2:

вар обећање = ново Промисе (функција (решавање, одбацивање) {// иницијализација две променљиве са целобројним вредностима цонст к = 11 + 2 цонст и = 26/2 // провера да ли су обе променљиве једнаке или не ако (к === и ) {// позивање решити решење ()} елсе {// позивање одбити одбити ()}}) обећање. затим (фунцтион () {цонсоле.лог ('Промисе ис Ресолвед !!')}). цатцх (фунцтион () {цонсоле.лог ('Обећање је одбијено !!')})

Излаз:

Настављамо са овим чланком о Обећањима у ЈаваСцрипт-у

Пример 3:

вар обећање = ново Промисе (функција (решавање, одбацивање) {цонст и = 'Поздрав' цонст а = 'Свет' // извођење додавања две променљиве за чување вредности у другој променљивој цонст ј = и + а иф ((и + а ) === ј) {// позивање решити решење ()} елсе {// позивање одбити одбити ()}}) обећање. затим (фунцтион () {цонсоле.лог ('Промисе ис Ресолвед !!')}). цатцх (фунцтион () {цонсоле.лог ('Обећање је одбијено !!')})

Излаз:

Настављамо са овим чланком о Обећањима у ЈаваСцрипт-у

Потрошачи у обећањима

Постоје две функције регистрације:

онда()

Када је обећање решено или одбијено, позива се ().

Параметри:

  • Ако је обећање решено, извршава се прва функција и добија се резултат.
  • Ако се обећање одбије, извршава се друга функција и на екрану се приказује грешка.

Синтакса:

.тхен (функција (резултат) {// руковање успехом}, функција (грешка) {// руковање грешком})

Настављамо са овим чланком о Обећањима у ЈаваСцрипт-у

Пример

Када се обећање реши

// решавање обећања вар обећање = ново Промисе (функција (разрешити, одбити) {разрешити ('Овде је написана порука о успеху!')}) обећати. Затим (функција (суццессМессагеисхере) {// позива се функција руковања успехом цонсоле.лог (суццессМессагеисхере)}, функција (еррорМессагеисхере) {цонсоле.лог (еррорМессагеисхере)})

Излаз:

Настављамо са овим чланком о Обећањима у ЈаваСцрипт-у

Када се обећање одбије

// одбијање обећања вар обећање = ново Промисе (функција (разрешити, одбити) {одбити ('Порука о одбијању овде је написана!')}) Обећање .потом (функција (успешна порука) {цонсоле.лог (суццессМессаге)}, функција ( еррорМессаге) {// позива се функција руковаоца грешком цонсоле.лог (еррорМессаге)})

Излаз:

Настављамо са овим чланком о Обећањима у ЈаваСцрипт-у

Улов ( )

Кад год дође до неке врсте грешке или обећање буде одбијено током извршења, позива се цатцх ().
Параметри:

  • Као параметар у методи цатцх () преноси се само једна функција.
  • Ова функција је направљена да обрађује грешке или обећава одбијања.

Синтакса:

.цатцх (функција (грешка) {// руковање грешком})

Настављамо са овим чланком о Обећањима у ЈаваСцрипт-у

Пример 1:

вар обећање = ново Промисе (функција (разрешити, одбити) {одбити ('Обећање је одбијено')}) обећање .потом (функција (успех) {цонсоле.лог (успех)}) .цатцх (функција (грешка) {// позива се функција обрађивача грешака цонсоле.лог (еррор)})

Излаз:

Настављамо са овим чланком о Обећањима у ЈаваСцрипт-у

Пример 2:

вар обећање = ново Промисе (функција (разрешити, одбити) {// порука о грешци бацити нову грешку ('Постоји нека грешка!')}) обећање .потом (функција (успех) {цонсоле.лог (успех)}) .цатцх (функција (грешка) {// позива се функција руковаоца грешком цонсоле.лог (грешка)})

Излаз:

Настављамо са овим чланком о Обећањима у ЈаваСцрипт-у

Пример 3:

вар обећање = ново Промисе (функција (разрешити, одбити) {// овде се може уредити порука о грешци, бацити нову грешку ('догодила се нека грешка!')}). ) .цатцх (функција (Тхисеррор) {// функција обрађивача грешака позвана цонсоле.лог (Тхисеррор)})

Излаз:

разлика између кувара и ансибла

Апликација:
1. Руковање асинхроним догађајима.
2. Руковање асинхроним хттп захтевима.

Тако смо дошли до краја овог чланка о „Обећањима у ЈаваСцрипт-у“. Ако желите да сазнате више, погледајте Едурека, поуздана компанија за учење на мрежи. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА осмишљен је тако да вас оспособи за основне и напредне Јава концепте заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га спомињете у одељку за коментаре овог блога и јавићемо вам се што је пре могуће.