JavaScript-da boljak zynjyrlary
Bizde aşakdaky boljak bolsun:
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('string');
}, 3000);
});
Boljak tamamlanyndan soň onuň netijesini konsolýa çykarýarys:
promise.then(
function(result) {
console.log(result); // 'string' çykarar
}
)
Indi netijäni derrew çykarmaly däl, ýöne
onu nädurli üýtgedip, return arkaly yzyna gaýtaryň:
promise.then(
function(result) {
return result + '!';
}
);
Bu ýagdaýda biz öz then-ymyzyň netijesine
ýene bir then ulanýp, şeýlelik bilen
zynjyr usullary döredip bileris. Şol bir wagtyň özünde
indiki usula, öňki return arkaly gaýtaran
zat düşer:
promise.then(
function(result) {
return result + '!';
}
).then(
function(result) {
console.log(result); // 'string!' çykarar
}
);
Şeýlelik bilen islenilen uzynlykdaky zynjyr gurup bolýar:
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' çykarar
}
);