背景
我正在阅读每一寸文档,并尽可能多地了解 Folktale。最近,我决定试试Future
。
我们需要未来吗?
现在,虽然我了解and 之间的区别Task
and (支持取消)但我不清楚and之间的区别。Promise
Task
Future
Future
Promise
为什么我要使用 aFuture
而不是 a Promise
?我会有什么好处?好吧,你可以说:“这样你实际上有一个单子,而不是单子的抱歉借口”。
这本身就是一个很好的论点,但是......记住我总是需要从 Promise 转换为其他东西(到 future )并且Future
's API 几乎相同,我不清楚,因为一个新人,我为什么要关心Future
。
代码示例
假设我有这个函数,其中request
是一个发出请求并返回一些结果的函数。
extractRequestInfo
是一个从响应对象中提取数据的函数。如果出现故障,我catch
会出错并返回一个包含所有数据、badId 和错误的对象。
const requestFruit = request => data =>
request( data )
.then( extractRequestInfo )
.catch( error => ( { badId: prop( [ "Id" ], data ), error } ) );
鉴于这是一个 HTTP 请求,我知道我不需要 a Task
,因为我在这里无法取消。所以我的选择是Promise
和Future
。
问题
- 我将如何
Future
在此示例中使用? - 既然这可能会失败,我也应该使用
Result
吗?