JavaScriptтегидеги Promise тизмеси

Алдыда бизде төмөнкүдөй промис болсун:

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' чыгарат
  }
);