我无法获得一个应该使用Promise onComplete()调用的回调。
// some service
def initiateDbLoad() {
def p1 = task { dbLoad() }
p1.onComplete { result ->
dbLoadCallback()
}
}
def dbLoad() {
// some long-running process here
}
def dbLoadCallback() {
// I am never called
}
用例是我想在一个单独的线程中启动一个长时间运行的进程。调用线程应该返回,而不是等待线程完成。当长时间运行的进程完成时,我希望它执行回调。这可能吗?或者它应该看起来像下面的代码?
def initiateDbLoad() {
def p1 = task {
dbLoad()
dbLoadCallback()
}
}
答案 0 :(得分:2)
onComplete
仅在成功时被召唤。您还必须添加onError
才能获得实际错误。