void (Promise<?> originPromise) { AtomicBoolean complete = new AtomicBoolean(false); Promise<?> promise = originPromise.onProcessed(ignore -> complete.set(true)); while (!complete.get()) { //noinspection TestOnlyProblems UIUtil.dispatchAllInvocationEvents(); try { promise.blockingGet(10, TimeUnit.MILLISECONDS); } catch (Exception ignore) { } } }