0

我正在尝试在我的 vertx 代码中执行多个数据库操作,但由于某种原因我收到此错误

2021 年 8 月 18 日 12:20:09 PM io.vertx.core.impl.ContextImpl 严重:未处理的异常 java.lang.IllegalStateException:结果已经完成:在 io.vertx.core.impl.FutureImpl.fail(FutureImpl. java:126) 在 com.himman.dao.ReturnRawmatToCompanyDAO.lambda$31(ReturnRawmatToCompanyDAO.java:801) 在 io.vertx.core.impl.ContextImpl.lambda$null$0(ContextImpl.java:327) 在 io.vertx.core .impl.ContextImpl.executeTask(ContextImpl.java:366) 在 io.vertx.core.impl.EventLoopContext.lambda$executeAsync$0(EventLoopContext.java:38) 在 io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor. java:164) 在 io.netty.util.concurrent.SingleThreadEventExecutor.runAllTask​​s(SingleThreadEventExecutor.java:472)

我的代码看起来像这样。有人可以帮忙吗。

public Future<String> delete(String id)
{
        Promise<String> deleted = Promise.promise();
        
        delete_1(id).onComplete(handler -> {
            delete_2(id).onComplete(handler_1 -> {
                delete_3_InvRaw_Mfg(handler_1.result()).onComplete(handler_2 -> {
                    delete_4_InvRaw_Company(handler_1.result()).onComplete(handler_3 -> {
                        deleted.complete(id);                       
                    });
                    
                });
            });
        });
        return deleted.future();
}
4

1 回答 1

1

您正在尝试完成已经完成的未来/承诺。从您的代码中,我怀疑它是deleted.complete(id);.

就像@tsegismont 指出的那样,代码似乎比这更完整。

来自文档

抛出:IllegalStateException - 当承诺已经完成时

于 2021-09-21T04:06:41.347 回答