⊗jsSpPrmChn 167 of 294 menu

Αλυσίδες Promises στην JavaScript

Ας υποθέσουμε ότι έχουμε το ακόλουθο promise:

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

Όταν το promise ολοκληρωθεί, θα εμφανίσουμε το αποτέλεσμά του στην κονσόλα:

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štinaDanskDeutschEnglishEspañ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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη