@Override public void then(final Action<? super T> then) { ThreadBinding.requireComputeThread( "Promise.then() can only be called on a compute thread (use Blocking.on() to use a promise on a blocking thread)"); doConnect( new Downstream<T>() { @Override public void success(T value) { try { then.execute(value); } catch (Throwable e) { throwError(e); } } @Override public void error(Throwable throwable) { throwError(throwable); } @Override public void complete() {} }); }
@Override public void connect(Downstream<T> downstream) { ThreadBinding.requireComputeThread( "Promise.connect() can only be called on a compute thread (use Blocking.on() to use a promise on a blocking thread)"); doConnect(downstream); }