API 已解析,但未发送 /api/users/create 的响应,这可能会导致请求停滞。下一个JS

Ism*_*dni 5 javascript api node.js knex.js next.js

我创建了一个 API 端点来处理 Next.js 应用程序中的用户帐户创建,并且使用knex.js来处理我的查询,但我仍然收到此错误:

API resolved without sending a response for /api/users/create, this may result in stalled requests.
Run Code Online (Sandbox Code Playgroud)

我的代码在/pages/api/users/create.js

API resolved without sending a response for /api/users/create, this may result in stalled requests.
Run Code Online (Sandbox Code Playgroud)

Ism*_*dni 3

实际上 bcrypt哈希函数是一个异步函数,它返回一个承诺,要么用加密的数据盐解析,要么用错误拒绝。

import knex from '../../../knex';

export default async function regiterUser(req, res) {
  if (req.method === 'POST') {
    try {
      const hashed = await hash(req.body.password, 10);
      await knex('users').insert({
        name: req.body.name,
        email: req.body.email,
        role: 'user',
        allowed: true,
        password: hashed,
      });
      res.status(200).end();
    } catch (err) {
      res.status(err).json({});
    }
  } else {
    res.status(405);
    res.end();
  }
}
Run Code Online (Sandbox Code Playgroud)