该应用程序由 Next.js 运行。我有一个 useQueries 钩子:const userQueries = useQueries({ queries: user.contacts.map((contactId: string) => ({ queryKey: ['contact', conta...
该应用程序由 Next.js 运行。
我有一个 useQueries 钩子:
const userQueries = useQueries({
queries: user.contacts.map((contactId: string) => ({
queryKey: ['contact', contactId],
queryFn: () => getUserById(contactId),
}))
});
api.ts 文件中的函数“getUserById”:
export async function getUserById(userId: string) {
const supabase = createClient();
let {data} = await supabase
.from('users')
.select()
.eq('id', userId);
return data && data[0]
}
我发现当我以这种方式加载数据时,它会按顺序加载而不是并行加载。
我尝试将 api 函数设为非异步,以便每个请求不会等待前一个请求,但 Next.js 禁止在没有“async”前缀的情况下执行服务器操作。有办法解决这个问题吗?
我在前端团队工作,服务器团队已开始使用不同的方法来处理 API 请求。他们现在要求我发送一个属性,其中包含我希望在
我在前端团队工作,服务器团队已开始使用不同的方法来处理 API 请求。他们现在要求我发送一个属性,其中包含我希望在响应中返回的特定字段。
例如:
http.post(`/api/v1/users`, { requiredFields: [1, 2, 3] })
// The response will be [{ firstname, lastname, age }]
// This means that firstname is 1, lastname is 2, and so on.
我想根据我发送的数字确保响应类型安全。
这是一个模拟我需要发送的内容和我收到的内容的小函数:
function server(fields) {
const allFields = {
1: 'firstname',
2: 'lastname',
3: 'age',
4: 'address',
5: 'email'
};
const result = {};
fields.forEach(field => {
if (allFields[field]) {
result[allFields[field]] = null;
}
});
return result;
}
我想过创建一个接口、类型、枚举或某种模式,但我不确定如何将其集成到 JavaScript 中。