⊗jsSpPrmChn 167 of 294 menu

Ланцугі промісаў у JavaScript

Няхай у нас ёсць наступны проміс:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { resolve('string'); }, 3000); });

Па завяршэнні проміса вывядзем яго вынік у кансоль:

promise.then( function(result) { console.log(result); // вывядзе 'string' } )

Давайце цяпер не будзем адразу выводзіць вынік, а як-небудзь зменім яго і вернем праз return:

promise.then( function(result) { return result + '!'; } );

У гэтым выпадку мы можам да выніку нашага then прыменіць яшчэ адзін then, стварыўшы тым самым ланцуг метадаў. Пры гэтым у вынік наступнага метада будзе трапляць тое, што вярнуў праз return папярэдні:

promise.then( function(result) { return result + '!'; } ).then( function(result) { console.log(result); // вывядзе 'string!' } );

Такім чынам можна пабудаваць ланцуг якой-заўгодна даўжыні:

promise.then( function(result) { return result + '1'; } ).then( function(result) { return result + '2'; } ).then( function(result) { return result + '3'; } ).then( function(result) { console.log(result); // вывядзе 'string123' } );
Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць