Изменить синтаксис на async / await

#javascript

#javascript

Вопрос:

У меня есть некоторый код, который выводит в консоли числовой ряд, начинающийся с 1, продолжающийся для 2 и так далее. Я сделал это с помощью promises, но теперь я хочу изменить свой сценарий promise на режим async / await, но он не работает.

Что я пробовал, так это:

 const alwaysThrows = () => {
    throw new Error("OH NOES");
};

const iterate = (integer) => {
    console.log(integer);
    return integer   1;

};

const prom = Promise.resolve(iterate(1));



const manageOk = async () => {
    let result = await prom;
    console.log(result);



}

manageOk()


  

но я не знаю, как получить остальные числа.

Это мой исходный код:

 const alwaysThrows = () => {
    throw new Error("OH NOES");
};

const iterate = (integer) => {
    console.log(integer);
    return integer   1;

};

const prom = Promise.resolve(iterate(1));


prom
.then((value) => iterate(value))
.then(iterate)
.then(iterate)
.then(iterate)
.then(alwaysThrows)
.then(iterate)
.then(iterate)
.then(iterate)
.catch(e => console.log(e.message));

  

Ответ №1:

    const manageOk = async (val) => {
        return await iterate(val);
    }

    manageOk(1)
    .then(res => manageOk(res))
    .then(manageOk)
    .then(manageOk)
    .then(manageOk)