Promise -ը հարմար միջոց է ժամանակակից JavaScript -ում անսինքրոն կոդ գրելու համար

Promise -ը հարմար միջոց է ժամանակակից JavaScript -ում անսինքրոն կոդ գրելու համար

Promise -ը հատուկ օբյեկտ է, որը պարունակում է իր վիճակի մասին տեղեկություն։ Սկզբում այն գտնվում է pending (սպասում) վիճակում, իսկ հետո fulfilled (հաջողված) կամ rejected (ձախողված) վիճակում։ Գրելաձեւը հետեւյալն է՝

 

var promise = new Promise(function(resolve, reject) {

     // այտեղ կարող եք գրել հիմնական կոդը, օրինակ ajax հարցում անել եւ հաջողված պատասխան ստանալուց հետո կանչել resolve(response), իսկ որեւէ խնդրի դեպքում reject(error) ֆուկցիան

});

 

promise.then(function(response){

     // հաջողությամբ ավտարվելու դեպքում, կաշխատի այտեղ գրված կոդը

});

 

promise.catch(function(error){

     // ձախողման դեպքում, կաշխատի այտեղ գրված կոդը

});

 

Promise -ները կարող են լինել նաեւ շղթայական։ Օրինակ ՝ առաջին Promise -ի հաջողությաբ ավարտի դեպքում, then -ի մեջ վերադաձնել մի նոր Promise.

 

promise.then(function(response){

     return new Promise(function(resolve, reject) {

          // այտեղ կարող եք անել նոր ajax հարցում,

     })).then(function(response){

         // եւ այսպես շարունակ

     });

});

 

Tigran Simonyan

04.08.2017

Front end