Что означает, что в Fluture вилка должна использоваться в одном месте?

#javascript #functional-programming #fluture

Вопрос:

Я читал о Fluture, и один из способов использовать будущее-позвонить форку. Пока все это понятно, но в документации говорится:
«Как правило, нужно звонить только fork в одном месте во всей программе».

Что это значит? Что делать, если я использую фьючерсы для извлечения некоторого содержимого из запроса Api, я, вероятно, хотел бы сделать это несколько раз на протяжении всего кода, каждый с различными функциями разрешения. Все эти фьючерсы тогда потребовали бы своих собственных вилок, верно?

Комментарии:

1. Fluture все дело в объединении и передаче определений или описаний асинхронных вычислений. Предоставление функции fork является единственным средством для фактического выполнения эффекта. Таким образом, все, что было до призыва fork , является чистым. Трудный аспект этого подхода состоит в том, чтобы не разбить эту огромную композицию на этом пути. С типизированными языками FP компилятор направляет вас, но с JS это исключительно ваша ответственность.

Ответ №1:

Ожидается , что вы создадите всю свою программу как большую Future , состоящую из меньших фьючерсов (как и многие вызовы Api, связанные друг с другом), и только в вашей основной точке входа выполните вызов fork() .

Комментарии:

1. О, я думаю, что понимаю, я был так сосредоточен на этом примере выборки, что не учел, что любая другая функция также может быть будущим. Я предполагаю, что это может быть даже использовано в случае, когда пользователь нажимает на кнопку, чтобы что-то запустить.