用vertx compose写链式操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用vertx compose写链式操作相关的知识,希望对你有一定的参考价值。



	public static void handleAddCollection(RoutingContext routingContext){
		Future<Void> futn=Future.future();
		futn.setHandler(a->{
			System.out.println("4最后一步:");
			sendData(routingContext,"ok");
			return;
		});
		Future<UpdateResult> fut1 = Future.future();
		JsonArray params=new JsonArray().add("123").add("测试标题").add("http://baidu.com").add("");
		String sql="insert into mytable (userid,title,url,pic) values (?,?,?,?)";
		myDBConnecton.updateWithParams(sql,params,fut1.completer());
		fut1.compose(v-> {			
			if(v.getUpdated()>0)System.out.println("2 插入成功了");
			else System.out.println("2 插入失败了");
			Future<ResultSet> fut2 = Future.future();
			 myDBConnecton.query("select * from mytable", fut2.completer());	
			return fut2;
		}).compose(v -> {
			List<JsonObject> data=v.getRows();
			System.out.println("3查询结果为:"+data.toString());
			Future<Void> fut3 = Future.future();	
			myDBConnecton.updateWithParams(sql,params,fut1.completer());			
			futn.complete();
		},futn);
	}


执行结果显示:

2 插入成功了
3查询结果为:[{"id":1,"userid":120,"title":"测试标题","url":"http://baidu.com","pic":"","add_time":null}, {"id":2,"userid":120,"title":"测试标题","url":"http://baidu.com","pic":"","add_time":null}]
4最后一步:


本文出自 “北京看看” 博客,谢绝转载!

以上是关于用vertx compose写链式操作的主要内容,如果未能解决你的问题,请参考以下文章

不要打断链式结构:使用 RxJava的 compose() 操作符

java vertx写出较为简单的便于阅读的顺序串行异步代码

用php实现一个简单的链式操作

用php实现一个简单的链式操作

jQery的链式操作和商城简易导航栏

如何一行jquery代码写出tab标签页(链式操作)