我正在使用grails异步编程。我需要将结果从promise返回到then块并对此进行处理。但我不知道该怎么做。
示例案例:
Promise promise = task {
// long running task
return promiseResult
}
promise.then {
// want to process promiseResult here
}
在上面,我想对“promiseResult”在“then”块中的promise中返回执行一些过程。
答案 0 :(得分:1)
Promise promise = task {
return promiseResult
}
promise.then { prevPromiseResult ->
// Access prevPromiseResult which is the result of the previous promise
}
Promise.then
将闭包作为参数,类似于onComplete(Closure callable)
。将前一个promise的结果作为参数传递给闭包应该可以访问结果。
同样适用于onError()
。