/ / Е async / не очаква място във функционалното програмиране JavaScript [затворен] - javascript, функционално програмиране, обещание, async-await, ecmascript-next

Е асинх / не чакат място във функционалното програмиране JavaScript [затворен] - javascript, функционално програмиране, обещание, async-await, ecmascript-next

Аз изучавам монада с JavaScript. Самото обещание е монада и е правилният начин да се справят функциите на асинхронните странични ефекти. Какво ще кажете за новия плейър es7 async / await, може ли да го използваме във функционалното програмиране на JavaScript? Чувствам се така, сякаш попадат добре дефинирани обещания монада обратно към императивния начин. Или има начин да се използва async / чакате достатъчно разумно, за да направите функционалното програмиране още по-лесно?

Отговори:

2 за отговор № 1

Все още можете да пишете асинхронен код във функционален стил с него. async/await не е нищо друго освен захар do нотацията е в Haskell (въпреки че е ограничена до обещания, а не до родови монади). Ако пишете код с обещания и чувствате това async/await ще я опрости, а след това ще я използва.

Забележете, че обещанията често използват странични ефекти(а самият асинхрон, като е във времевата област, може да се счита за ефект), така че императивният стил често не е грешен подход. В крайна сметка дори функционалните програми извършват странични ефекти.