首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Next js、Knex和SWR的奇怪查询错误

Next js、Knex和SWR的奇怪查询错误
EN

Stack Overflow用户
提问于 2021-01-20 01:29:15
回答 1查看 338关注 0票数 1

使用Next应用编程接口路由和Knex + MySQL,并使用ReactSWR获取,我得到了一个奇怪的bug。如果请求失败,我的查询将开始将, *附加到select语句,从而导致SQL语法错误。例如,查询应该使用select *,但结果是select *, *,然后是select *, *, *,依此类推。有人知道为什么会发生这种情况吗?

SWR获取:

代码语言:javascript
运行
复制
export const swrFetcher = async (...args) => {
  const [url, contentType = 'application/json'] = args;
  const res = await fetch(url, {
    method: 'GET',
    headers: {
      'Content-Type': contentType,
    },
  });
  if (!res.ok) throw new Error(res.statusText);
  const json = await res.json();
  return json;
};

const { data, error } = useSWR('/api/user/me', swrFetcher, {
    revalidateOnFocus: false,
    revalidateOnReconnect: false,
    revalidateOnMount: true,
  });

knex查询:

代码语言:javascript
运行
复制
const User = knex(TABLE_NAMES.user);
export const readById = (id) => User.select('*').where({ id });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-20 01:50:04

您可能需要在函数调用中创建knex实例,而不是像现在这样每次都重用相同的实例。

代码语言:javascript
运行
复制
export const readById = (id) => {
    const User = knex(TABLE_NAMES.user);
    return User.select('*').where({ id });
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65796511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档