正如标题所说,我想在发出GET请求的同时发出POST请求。这是好的做法吗?还是一个巨大的禁忌?
这是因为我的应用程序功能的工作原理如下:在页面加载时,它需要获取用户数据。如果用户数据不在数据库中,则应将其添加到数据库中。没有注册。我们正在跟踪页面上的所有用户。 (他们浏览该网站的次数和 ID)
编辑:我们不跟踪用户登录信息。或者给他们报名。我们会在我们的数据库中记录他们浏览该网站的次数。
我尝试使用 GET 设置它,然后 onSuccess 运行 POST 请求,但这似乎有点过头了。
export default function handler(req, res) { if (req.method === 'GET') { // check db if user is there (db.get()) // if not run the PUT request. (db.save()) } }
P粉2441552772023-09-13 00:30:20
也许有更好的方法。例如,如果您使用 DynamoDB,则可以使用 更新项目。这允许您更新项目(如果存在),或者发布新项目(如果不存在)。此外,通过使用 ReturnValues
参数,该操作将返回您想要的任何属性。您可以通过其中一个调用来获得您想要的一切。
但如果没有,这对我来说看起来不错。如果您想避免嵌套回调,可以使用 async
和 await
语法分隔调用:
export default function handler(req, res) { if (req === "GET") { const result = await getRequest(); if (result.isEmpty()) { postRequest(); } } }