设为首页 加入收藏

TOP

restapi(7)- 谈谈函数式编程的思维模式和习惯(二)
2019-10-09 20:01:12 】 浏览:312
Tags:restapi 谈谈 函数 编程 思维 模式 习惯
网速缓慢的话,很可能在下载完成之前就执行了complete()。所以我们必须保证图片下载完成后才向终端httpclient返回response,就用onComplete来实现:

 onComplete(futSeqno) { case Success(lv) => complete(lv.toString()) case _ => complete("error saving picture!") }

所以整段宏观代码如下:

 post { entity(as[String]) { json => val upData: UpData = fromJson[UpData](json) val futSeqno: Future[Long] = for { cnt <- repository.count(upData.pid).toFuture[Long] barr <- downloadPicture(upData.url) _ <- addPicuture(upData.pid, cnt.toInt, None, None, None, barr.toArray) } yield cnt onComplete(futSeqno) { case Success(lv) => complete(lv.toString()) case _ => complete("error saving picture!") } } }~

是不是很容易读懂理解?实际上我们把复杂的细节函数藏在背后。而这些函数是高度可重复利用的,这也是我们在动手之前通盘考虑的成果。

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Scala Future 下一篇Scala Basis

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目