Tag: 无阻塞

通过Play Controller-Action中的#flatMap()链接Promise

我想问一下我的工作是否合适,或者是否有更好/更有效/更简单的方法。 场景: 用户使用电子邮件地址和密码登录,将路由到login() – 操作 如果用户已在数据库中并且密码已经过哈希处理,请使用DB-user进行身份validation并返回结果承诺 如果用户不在数据库中或没有密码哈希,请使用login-data执行Web服务请求并从响应中解析状态 – >返回Status -instance 检查用户的状态并返回结果承诺 码: public Promise login() { Promise userPromise = Promise.promise(() -> User.findByName(login.emailAddress)); return userPromise.flatMap(user -> { if (user != null && user.hasPassword()) { if (user.authenticate(login.password)) { return Promise.pure(ok(“login successful”))); } // password did not match return Promise.pure(unauthorized()); } // user has no password-hash stored, so […]

如何进行延迟的非阻塞函数调用

我想调用具有一些延迟的HashSet的add函数,但不阻塞当前线程。 是否有一个简单的解决方案来实现这样的事情: Utils.sleep(1000, myHashSet.add(foo)); //added after 1 second //code here runs immediately without delay …