JavaScript-те промис тізбектері

Бізде келесі промис бар делік:

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

Промис аяқталғаннан кейін оның нәтижесін консольге шығарайық:

javascriptpromise.then(
  function(result) {
    console.log(result); // шығарады 'string'
  }
)

Енді нәтижені бірден шығармай-ақ, оны өзгертіп, return арқылы қайтарайық:

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

Бұл жағдайда біз өзіміздің then нәтижесіне тағы бір then қолданып, осылайша тізбек әдістерін жасай аламыз. Сонымен бірге келесі әдіс нәтижесіне алдыңғы return арқылы қайтарғаны кіреді:

javascriptpromise.then(
  function(result) {
    return result + '!';
  }
).then(
  function(result) {
    console.log(result); // шығарады 'string!'
  }
);

Осылайша кез келген ұзындықтағы тізбекті құруға болады:

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