正如標題所說,我想在發出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(); } } }