В службе My Grails есть часть метода, который я хочу запустить асинхронно.
Далее, документ для 2.3.x http://grails.org/doc/2.3.0.M1/guide/async.html
Я делаю
public class MyService {
public void myMethod() {
Promise p = task {
// Long running task
}
p.onError { Throwable err ->
println "An error occured ${err.message}"
}
p.onComplete { result ->
println "Promise returned $result"
}
// block until result is called
def result = p.get()
}
}
Тем не менее, я хочу выполнить свою работу без каких-либо блокировок. Блокирует метод p.get()
. Как выполнить обещание без каких-либо блокировок. Меня не волнует, возвращается ли myMethod()
, это своего рода способ стрельбы и забывания.