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'
}
);