整体过度到guava ListenableFuture 后面可以规模写了