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

Javascript 如何使用数据库回调函数重定向用户-HAPI,javascript,node.js,http,hapijs,Javascript,Node.js,Http,Hapijs,我希望在数据库响应之前向我的用户显示一个加载图标,然后重定向到正确的页面 我的代码大致如下: // handler function handler(request, reply) { reply.view('loading') // show loading with css // do database stuff... // database callback function function db_callback_function() { reply.re

我希望在数据库响应之前向我的用户显示一个加载图标,然后重定向到正确的页面

我的代码大致如下:

// 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. 
  }
}
Hapi说我只能使用回复界面一次:

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')
  }
}
//处理程序
函数处理程序(请求、回复){

//reply.view('加载')前端如何知道何时重定向到适当的页面?请查看我的更新答案,简而言之——你不会有整个页面的加载状态,只需使用js和css即可。你说前端何时收到响应。它将如何做到这一点?我的前端将如何收到响应?1.发送请求2.使用JavaScript和css来处理w一些加载动画3.响应返回4.页面将根据您的代码重定向到相应的页面…而且,您不希望HTTP请求有响应吗?如果您的后端只是一个REST接口,那么您需要在前端添加一个带有JS的旋转加载程序。