我希望我的用户看到一个加载图标,直到数据库响应,然后重定向到正确的页面。
我的代码是这样的:
// handler
function handler(request, reply) {
reply.view('loading') // show loading with css
// do database stuff...
// database callback function
function db_callback_function() {
reply.redirect('user/page') // after db responds, redirect.
}
}
快乐说我只能使用一次回复界面:
Unhandled promise rejection (rejection id: 1): Error: reply interface called twice
那么,如何在数据库加载后重定向用户呢?
编辑:我知道我需要使用前端显示加载程序。我只是不知道我的后端如何告诉我的前端何时重定向。
一个请求只能响应一次。 你应该在前端而不是后端做"加载东西"。
因此,当您发送HTTP请求时,您应该将状态标记为正在加载。
对于示例代码,服务器代码应修改为:
// handler
function handler(request, reply) {
// reply.view('loading') <- REMOVE THIS LINE
// do database stuff...
// database callback function
function db_callback_function() {
reply.redirect('user/page')
}
}
在这种情况下,当您的前端收到响应时,它将重定向到相应的页面。