V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hackingwu
V2EX  ›  编程

用 Java1.7 实现了一下 Promise

  •  
  •   hackingwu · 2016-03-15 11:37:34 +08:00 · 2962 次点击
    这是一个创建于 3177 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在用 JavaScript 写服务端代码,感觉前端异步编程可以应用于后端,所有的 IO 操作如果没有前后依赖关系的可以并发执行。前端的 Promise 规范了这种异步编程,感觉很不错,于是用 Java1.7 实现了一下 Promise 常用的接口。代码放到 github 上了 https://github.com/hackingwu/Java-Promise 。欢迎大家指教,互相学习。
    静态方法:
    Promise.all(Promise... promises)
    Promise.race(Promise... promises)
    Promise.resolve(value)
    Promise.reject(value)
    实例方法:
    promise.then(OnFulfill onFulfill, OnReject onReject)
    promise.then(OnFulfill onFulfill)
    promise.Catch(OnReject onReject)

    4 条回复    2016-03-16 15:38:33 +08:00
    SoloCompany
        1
    SoloCompany  
       2016-03-15 22:05:09 +08:00
    java6 有 Future 了啊
    hackingwu
        2
    hackingwu  
    OP
       2016-03-16 08:58:45 +08:00 via iPhone
    @SoloCompany 是用 future 来实现的
    SoloCompany
        3
    SoloCompany  
       2016-03-16 12:10:06 +08:00
    @hackingwu java7 没有 lambda , promise 的可用性就差了很多; java8 有 lambda 相对好一些但没有真正意义的函数指针只有 SMI , kotlin 的 lambda 灵活性要强的多,有原生函数指针的支持,更接近 javascript ,所以如果要构建类似的 API , kotlin 应该是更合适的平台
    hackingwu
        4
    hackingwu  
    OP
       2016-03-16 15:38:33 +08:00
    @SoloCompany 谢谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1267 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:27 · PVG 07:27 · LAX 15:27 · JFK 18:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.