Seperti tajuk, saya ingin membuat permintaan POST pada masa yang sama dengan permintaan GET. Adakah ini amalan yang baik? Atau tidak-tidak yang besar?
Ini kerana fungsi apl saya berfungsi seperti berikut: apabila halaman dimuatkan, ia perlu mendapatkan data pengguna. Jika data pengguna tiada dalam pangkalan data, ia perlu ditambah ke pangkalan data. tidak berdaftar. Kami menjejaki semua pengguna di halaman. (bilangan kali mereka melawat tapak dan ID mereka)
EDIT: Kami tidak menjejaki maklumat log masuk pengguna. Atau mendaftar mereka. Kami akan merekodkan dalam pangkalan data kami bilangan kali mereka melawat tapak web.
Saya cuba menyediakannya menggunakan GET dan kemudian onSuccess menjalankan permintaan POST, tetapi ia kelihatan seperti berlebihan.
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()) } }
Mungkin ada cara yang lebih baik. Contohnya, jika anda menggunakan DynamoDB, anda boleh menggunakan Projek Kemas Kini. Ini membolehkan anda mengemas kini projek jika ia wujud, atau menerbitkan projek baharu jika ia tidak wujud. Selain itu, dengan menggunakan parameter
ReturnValues
, operasi akan mengembalikan sebarang sifat yang anda inginkan. Anda boleh mendapatkan semua yang anda inginkan dengan salah satu panggilan ini.Tetapi jika tidak, ini kelihatan baik bagi saya. Jika anda ingin mengelakkan panggilan balik bersarang, anda boleh menggunakan sintaks
async
和await
untuk memisahkan panggilan: