setTimeout получить значение

function addString(previous, current) {
  let promise = new Promise(function(previous, current) {
    setTimeout(() => {
      return (previous + "" + current)
    }, Math.floor(Math.random() * 100) + 1)
  });
  return promise;
}

function addAll() {
  let result = addString("", "A")
  result = addString(result, "B")
  result = addString(result, "C")
  console.log(result);
}
addAll();

Без setTimeout все выводится правильно ABC, пытаюсь добавить задержку не получается


Ответы (1 шт):

Автор решения: Igor

async function addString(previous, current) {
  return new Promise(function(resolve, error) {
    setTimeout(() => resolve(previous + "" + current), Math.floor(Math.random() * 100) + 1);
  });
}

async function addAll() {
  let result = await addString("", "A");
  result = await addString(result, "B");
  result = await addString(result, "C");
  console.log(result);
}
addAll();

→ Ссылка