如何使用数据库回调函数重定向用户 - HAPI



我希望我的用户看到一个加载图标,直到数据库响应,然后重定向到正确的页面。

我的代码是这样的:

// 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')
}
}

在这种情况下,当您的前端收到响应时,它将重定向到相应的页面。

最新更新