Async: v3.0 ΠΈ каТдая сСрия async / await

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 25 мая 2019  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: caolan/async

ΠŸΡ€ΠΈΠ²Π΅Ρ‚,

v3.0 Π΅Ρ‰Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ async / await для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ сСрии? Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список, ΠΊΠ°ΠΊΠΈΠ΅ асинхронныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Promise?

ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ΡΡ с этим ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ:

async.eachSeries(items, async (item, callback) => {
            const itemStats = await someFunc(item);
           callback();
});

Π’ настоящСС врСмя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ:

async.eachSeries(items, (item, callback) => {
         (async () => {
            const itemStats = await someFunc(item);
            callback();
          })();
});

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π˜Π΄ΠΈΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ способ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с этим с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ async / await Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

try {
    await async.eachSeries(items, async (item) => {
            const itemStats = await someFunc(item);

            if(!itemStats) throw new Error('no stats found');
    })
} catch (err)  {
   return res.status(500);
}
return res.status(200).json({success: true})

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Async Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ функциям async . ΠŸΡ€ΠΎΡΡ‚ΠΎ return !

async.eachSeries(items, async (item) => {
            const itemStats = await someFunc(item);
});

Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, ΠΌΠΎΠΉ вопрос Π±Ρ‹Π» Π½Π΅ Ρ‚Π°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆ.

Π‘Π΅Π· callback () я Π½Π΅ смогу ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ послС:

async.eachSeries(items, async (item) => {
            const itemStats = await someFunc(item);

            if(!itemStats) throw new Error('no stats found');

}, (err) => {
       if(err) return res.status(500);

       return res.status(200).json({success: true})
});

Π­Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ»ΠΈ?

Π˜Π΄ΠΈΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ способ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с этим с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ async / await Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

try {
    await async.eachSeries(items, async (item) => {
            const itemStats = await someFunc(item);

            if(!itemStats) throw new Error('no stats found');
    })
} catch (err)  {
   return res.status(500);
}
return res.status(200).json({success: true})

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ

Π‘ΠΌΠ΅ΠΆΠ½Ρ‹Π΅ вопросы

alfredoborrero picture alfredoborrero  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

codeofsumit picture codeofsumit  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

mjafarpour picture mjafarpour  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

AaronAcerboni picture AaronAcerboni  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

trvra picture trvra  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ