#javascript #functional-programming #fluture
Вопрос:
Я читал о Fluture, и один из способов использовать будущее-позвонить форку. Пока все это понятно, но в документации говорится:
«Как правило, нужно звонить только fork
в одном месте во всей программе».
Что это значит? Что делать, если я использую фьючерсы для извлечения некоторого содержимого из запроса Api, я, вероятно, хотел бы сделать это несколько раз на протяжении всего кода, каждый с различными функциями разрешения. Все эти фьючерсы тогда потребовали бы своих собственных вилок, верно?
Комментарии:
1.
Fluture
все дело в объединении и передаче определений или описаний асинхронных вычислений. Предоставление функцииfork
является единственным средством для фактического выполнения эффекта. Таким образом, все, что было до призываfork
, является чистым. Трудный аспект этого подхода состоит в том, чтобы не разбить эту огромную композицию на этом пути. С типизированными языками FP компилятор направляет вас, но с JS это исключительно ваша ответственность.
Ответ №1:
Ожидается , что вы создадите всю свою программу как большую Future
, состоящую из меньших фьючерсов (как и многие вызовы Api, связанные друг с другом), и только в вашей основной точке входа выполните вызов fork()
.
Комментарии:
1. О, я думаю, что понимаю, я был так сосредоточен на этом примере выборки, что не учел, что любая другая функция также может быть будущим. Я предполагаю, что это может быть даже использовано в случае, когда пользователь нажимает на кнопку, чтобы что-то запустить.