首页
学习
活动
专区
圈层
工具
发布

PlayScala实战 - 如何优雅地取出多层Future中的结果?

updateProductAsync() Redirect(routes.ProductController.editProduct(_id)) } } 首先利用for语句取出异步的product...结果,然后对比一下页面数据和数据库中的差异,这一步在很多时候是需要的,例如记录修改日志,然后异步更新至数据库,接着将页面跳转至该商品的编辑页面。...那么问题来了,跳转至编辑页面后用户看到的是编辑前的结果还是编辑后的结果?呵呵,只能看运气了!很可能在更新操作未完成之前,编辑页面已经刷出来了。...面对这种情况,你很可能会说同步等待updateProductAsync()的结果返回呗,千万别这么干,高并发时你的线程很快就耗尽了,另外updateProductAsync()操作之后可能还会有其它的异步更新操作...} } 如果asyncOperate1() 和asyncOperate2()也会更新商品信息, 你可能就要骂娘了... 2 解决方案 其实上面的问题可以归结为本文的标题,即如何从多层Future中取出最终的执行结果

1.5K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL中explain的结果​字段介绍

    MySQL中explain的结果字段介绍(二) 昨天说完了执行计划的前四个字段,今天说说后面几个字段吧。...我们看看explain的基本语法和输出内容: mysql ::>>explain select ; +----+-------------+-------+------+---------------+...mysql:yeyztest 17:30:49>>show create table test_explain\G *************************** 1. row ********...此时表test_explain的存储引擎是myisam,有2条记录,我们修改存储引擎为innodb,然后删除1条记录,再来看结果: mysql:yeyztest 17:41:55>>alter table...warning (0.00 sec) index_merge 顾名思义,这个意思是索引合并,也就是说当我们在一个SQL中使用了字段的时候,这两个字段又分别使用了索引,那么这个时候就会取这两个字段的交集作为结果展示给客户端

    10.2K10

    mysql explain用法和结果的含义

    将在表4.3中讨论,但这里可以看到的坏的例子是Using temporary和Using filesort,意思MYSQL根本不能使用索引,结果是检索会很慢 extra列返回的描述的意义 Distinct...ref:对于每个来自于前面的表的行组合,所有有匹配索引值的行将从这张表中读取。 ref_or_null:该联接类型如同ref,但是添加了MySQL可以专门搜索包含NULL值的行。...Using temporary:为了解决查询,MySQL需要创建一个临时表来容纳结果。 Using where:WHERE 子句用于限制哪一个行匹配下一个表或发送到客户。...DISTINCT查询的所有列,而不要额外搜索硬盘访问实际的表。...此时mysql会根据联接类型浏览所有符合条件的记录,并保存排序关键字和行指针,然后排序关键字并按顺序检索行。

    2.2K10

    mysql explain用法和结果的含义

    ref:对于每个来自于前面的表的行组合,所有有匹配索引值的行将从这张表中读取。 ref_or_null:该联接类型如同ref,但是添加了MySQL可以专门搜索包含NULL值的行。...Using temporary:为了解决查询,MySQL需要创建一个临时表来容纳结果。 Using where:WHERE 子句用于限制哪一个行匹配下一个表或发送到客户。...DISTINCT查询的所有列,而不要额外搜索硬盘访问实际的表。...ref:对于每个来自于前面的表的行组合,所有有匹配索引值的行将从这张表中读取。 ref_or_null:该联接类型如同ref,但是添加了MySQL可以专门搜索包含NULL值的行。...Using temporary:为了解决查询,MySQL需要创建一个临时表来容纳结果。 Using where:WHERE 子句用于限制哪一个行匹配下一个表或发送到客户。

    3K10

    mysql explain用法和结果的含义

    ref:对于每个来自于前面的表的行组合,所有有匹配索引值的行将从这张表中读取。 ref_or_null:该联接类型如同ref,但是添加了MySQL可以专门搜索包含NULL值的行。...Using temporary:为了解决查询,MySQL需要创建一个临时表来容纳结果。 Using where:WHERE 子句用于限制哪一个行匹配下一个表或发送到客户。...ref:对于每个来自于前面的表的行组合,所有有匹配索引值的行将从这张表中读取。 ref_or_null:该联接类型如同ref,但是添加了MySQL可以专门搜索包含NULL值的行。...Using temporary:为了解决查询,MySQL需要创建一个临时表来容纳结果。 Using where:WHERE 子句用于限制哪一个行匹配下一个表或发送到客户。...此时mysql会根据联接类型浏览所有符合条件的记录,并保存排序关键字和行指针,然后排序关键字并按顺序检索行。

    2.9K20
    领券