目前的答案并不正确.问题的真相是,JS社区的共识中没有"返回承诺的功能"的简短名称.
该规范没有以特殊方式命名它们,没有任何流行库的文档以特殊方式命名它们.承诺规范没有以任何特殊方式命名它们.
另一方面,如果我们检查来自Liskov和Shrira的文献分支,他们不会,Bogle和Zondervan也不会使用除"获得承诺"或"获得未来"之外的任何术语(他们确实使用claim用于提取值).
如果我们查看Mark Miller的作品,他也不会使用任何条款.
在其他语言中,事情并不好.对于返回Tasks(其promise)的方法,C#没有特殊名称.对于返回async/await的函数,它确实有"异步函数",但这只是一个严格的子集.Scala中没有特殊名称,Python中没有特殊名称,Java中没有特殊名称等等.唯一关闭的是parse的Android API命名他们的承诺' then回调,Continuation但这在这种情况下几乎没有意义.
如果它让你感觉更好 - 我们没有返回数组的名称.
then有效bind.更重要的是,很少有JS开发人员甚至知道monad是什么,甚至更少关心.async修饰符被添加到语言中.现在,可能是事件,然后很多人会考虑像是异步函数setTimeout或者fs.openFile是异步函数.总而言之,发明承诺的人,为JavaScript指定它们的人,编写该规范的人,规范本身,承诺库,用这些编写的库和普通用户都没有任何特殊名称为了它.
我认为我们可以坚持一个返回承诺的函数.
如果它让你感觉更好 - 我们不会命名"返回int的函数":)
在javascript社区中,我看到一个函数返回一个名为"thenable"的promise,足以让我在编码时觉得" 可以 ".这是一个很好的功能.
我喜欢这个名字有很多原因:
1)然后描述功能行为.如果它返回一个promise,你可以在它上面调用"then".
2)它是独一无二的.承诺不完全是monadic,所以monad不合适."异步"更像是一类超级函数,并没有帮助描述Promise的本质.但"可以"是唯一的Promisely.
3)我也喜欢它并不重复无处不在的承诺,(承诺,承诺,承诺功能等)正在接近IMO的循环定义.能够谷歌一个具有一个特定含义的单词真的很好.
| 归档时间: |
|
| 查看次数: |
813 次 |
| 最近记录: |