【发布时间】:2017-10-15 10:21:38
【问题描述】:
在我的 Grails 服务中,我想在 Promise 或某些方法异步运行时呈现页面。我尝试了与文档不同的东西 https://docs.grails.org/3.1.10/guide/async.html。 在调试时,我看到 return 渲染在 promise 之前运行,但是在前端它仍然不会渲染任何东西,直到 promise 完成运行。 我尝试使用承诺和线程。我列出的所有东西都没有按我的意愿工作。 我什至将 saveOrder 复制到 copyOrder,我想也许 promise 会阻止渲染结果。仍然没有工作。
def save(Order order) {
def saveorder = orderService.saveOrder(order, user.id)
def copyOrder=new AppreciationOrder();
InvokerHelper.setProperties(copyOrder, saveorder.properties)
response.status = 201
Promise p = task {
checkService.checkForDuplicate(saveorder)
notificationService.newOrder(saveorder)
}
p.onComplete { result ->
println "Promise returned $result"
}
return render(view: "/controllers/order/order/_show", model: [order: copyOrder])
}
【问题讨论】:
标签: grails asynchronous groovy promise