Minyororo ya Ahadi katika JavaScript
Acha tuwe na ahadi ifuatayo:
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('string');
}, 3000);
});
Baada ya ahadi kukamilika, tuonyeshe matokeo yake kwenye konsoli:
promise.then(
function(result) {
console.log(result); // itaonyesha 'string'
}
)
Sasa tusionyeshe matokeo mara moja,
bali tuiBadilishe kwa namna fulani na turudi kupitia return:
promise.then(
function(result) {
return result + '!';
}
);
Katika kesi hii, tunaweza kutumia then nyingine
kwa matokeo ya then yetu, na hivyo kujenga
mnyororo wa mbinu. Wakati huo huo,
matokeo ya mbinu inayofuata yataingiza
kile kilichorejeshwa kupitia return na iliyotangulia:
promise.then(
function(result) {
return result + '!';
}
).then(
function(result) {
console.log(result); // itaonyesha 'string!'
}
);
Kwa hivyo, inawezekana kujenga mnyororo wa urefu wowote:
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); // itaonyesha 'string123'
}
);