gpt4 book ai didi

javascript - 纯函数可以异步吗?

转载 作者:数据小太阳 更新时间:2023-10-29 05:59:50 28 4
gpt4 key购买 nike

在遍历纯函数的定义时,它通常定义有两个特征:

1) 给定相同的输入应该产生相同的输出

2) 不应产生任何副作用

这是否也意味着纯函数不应该是异步的?如果没有,怎么会?如果是,我很乐意看到一些 JavaScript 中的异步纯函数示例。

最佳答案

是的,异步函数通常不是纯粹的,因为它与要求 #2 冲突:无副作用。

我们使用异步函数的大多数事情本质上都是有副作用的:I/O、网络、计时器。但即使我们忽略这些,promises 本身也依赖于某种全局状态来实现异步:事件循环。这通常不符合我们对纯度的定义。

另一方面,在争论函数的纯度时,我们可以简单地忽略这些,就像我们忽略计算对我们真实世界的机器产生的所有低级影响和时序一样。如果您想争辩说您的异步函数是纯函数,那么您应该始终明确说明这个假设。在争论两个异步值的等价性时,您需要对如何建模异步效果有一个复杂的想法,例如在 Promise.race 的评估中。

关于javascript - 纯函数可以异步吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52680508/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com