Grails 异步编程,如何在 then 块中从 promise 传递值 return?

Grails async programming ,how to pass value return from promise in then block?

我正在使用 grails 异步编程。我需要将结果 return 从 promise 传递到 then 块并对此进行处理。但我不知道该怎么做。

示例案例:

Promise promise = task {
    // long running task
    return promiseResult
}
promise.then {
    // want to process promiseResult here
}

在上面,我想在 "then" 块中对 "promiseResult" return 中的承诺执行一些过程。

Promise promise = task {
     return promiseResult
}
promise.then { prevPromiseResult ->
    // Access prevPromiseResult which is the result of the previous promise
}

Promise.then 以一个闭包作为参数,类似于onComplete(Closure callable)。将先前承诺的结果作为参数传递给闭包应该可以访问结果。

同样适用于 onError()