Postingan lainnya
Input berhasil namun muncul error
mohon tanyanya nih saya ada query, dibawah :
const item = req.body.item
database.push({ item });
let items = [];
return database.on('value', (snapshot) => {
snapshot.forEach((item) => {
items.push({
id: item.key,
items: item.val().item
});
});
saya rubah menjadi seperti ini karena ingin menambahkan field :
const item = req.body.item
const price = req.body.price
const describe = req.body.describe
database.push({ item, price, describe});
let items = [];
return database.on('value', (snapshot) => {
snapshot.forEach((item) => {
items.push({
id: item.key,
items: item.val().item,
items: price.val().price,
items : describe.val().describe
});
});
res.status(200).json(items)
}
code diatas berguna untuk insert data ke firebase, datanya berhasil masuk cuman message di postman muncul keterangan
Error: could not handle the request
errornya dmn y, mohon bantuanya
3 Jawaban:
mungkin karena kamu return duluan gan, jadi ngga sampai bagian response status 200, return nya pindahkan ke sebelum res.
Jadim jangan di return dulu, return artinya ngebalikin hasil, jadi dia ngga sampai di "res.status(200)" 1. jangan return di database
return res.status....
Tanggapan
oke bang ane coba dulu :*
tapi ngomong2 itu returnnya udh sebelum res bang
<pre>
exports.addItem = functions.https.onRequest((req, res) => {
return cors(req, res, () => {
if(req.method !== 'POST') {
return res.status(401).json({
message: 'Not allowed'
})
}
console.log(req.body)
const item = req.body.item
database.push({ item });
let items = [];
return database.on('value', (snapshot) => {
snapshot.forEach((item) => {
items.push({
id: item.key,
items: item.val().item
});
});
res.status(200).json(items)
}, (error) => {
res.status(error.code).json({
message: Something went wrong. ${error.message}
})
})
})
})
</pre>
Tanggapan
coba baca lagi ya jawaban saya
<div>return itu harus terakhir, karena code dibawah return akan diignore, kalau di visual studio code misalnya, text highlightnya akan turun opacitynya dan artinya text tersebut tidak akan dieksekusi. Saat kamu mereturn database.on, artinya beres eksekusi fungsi tersebut tidak akan mengeksekusi code setelahnya, dalam hal ini res.status(200).json...</div>