Промiсы ўнутры ланцужка ў JavaScript

Функцыі ланцужка могуць таксама вяртаць промісы. У гэтым выпадку вынік гэтага проміса трапіць у наступны then:

javascriptpromise.then(
  function(result) {
    return result + '1';
  }
).then(
  function(result) {
    return new Promise(function(resolve) {
      resolve(result + '2'); // гэты вынік трапіць у наступны then
    });
  }
).then(
  function(result) {
    return result + '3';
  }
).then(
  function(result) {
    console.log(result); // вывядзе 'string123'
  }
);