2017-01-26 8 views
1

を呼び出して、私のユースケースは、次のとおりです。非同期サービスプロキシは、私がVERTXのサービスプロキシライブラリを使用している、と私は、コールバックを持ついくつかの問題を抱えているVERTX

Q1 - > Q2 ----> Q3、私がこれまでに行っていることである。

insertOrUpdate(query, client, updateBuildingNode -> { 

      if (updateBuildingNode.succeeded()) { 

       userService.getUserbyId(user, getUserRes -> { 

        User currentUser = Json.decodeValue(getUserRes.result().get(0).toString(), User.class); 
        userService.removeNodeFromUser(new JsonObject().put("user", new JsonObject(Json.encode(currentUser))).put("nodeUid", buildingUid), removeNodeFromUserRes -> { 

         if (removeNodeFromUserRes.succeeded()) { 
          if(currentUser.getFavoriteBuilding()!=null && currentUser.getFavoriteBuilding().equalsIgnoreCase(buildingUid)) { 


           userService.removeNodeAsFavorite(new JsonObject().put("userUid", userUid).put("nodeUid", buildingUid), resultHandler); 

          } 
          else 
          { 

           resultHandler.handle(Future.succeededFuture(Boolean.TRUE)); 
          } 
         } else { 
          resultHandler.handle(Future.failedFuture(removeNodeFromUserRes.cause())); 
         } 
        }); 


       }); 
      } 
      else { 
       resultHandler.handle(Future.failedFuture(updateBuildingNode.cause())); 
      } 

     }); 

私の問題は、私はこれをしたいということであるQ1、それらはQ3を終了し、実行するためQ2待ちのように呼び出すと、私はQの上に私がループする必要がある別の要求を持っています[私は]それらのすべてを私の論理をするためにそれらのために待ってください。

私は角のjs $q.all(q1,q2)

私はVERTXおよびサービスプロキシでこれを行うことができますどのように任意のアイデアに似たものを探していますか?

答えて

関連する問題