• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Node.js backend - http get żądanie

Mały hosting, OGROMNE możliwości
0 głosów
451 wizyt
pytanie zadane 27 maja 2018 w JavaScript przez Wonderpol Gaduła (3,730 p.)

Witam, napotkałem problem gdyż chcę przepisać back-end do swojej aplikacji mobilnej aby był w całości na serwerze używam do tego firebase functions i zacząłem pisać sobie w Node.js dodam że nigdy nie miałem styczności z js napisałem sobie taką prostą funkcję która ma działać ale nie działa. 

exports.someMethod = functions.https.onRequest((req, res) => {
        let allUsers = [];
        db.collection('users').doc('hKdzmuL0UwTniQAbriFDyDQcQfu2').get()
        .then(snapshot => {
            snapshot(doc => {
                allUsers.push({
                    "userData": doc.data()
                });
            });
            res.json({
                "statusCode": "200",
                "statusResponse": "Ok",
                "message": "All users",
                "data" : allUsers
            })
            return ''
        })
    .catch(err => {
        console.log('Error getting documents', err);
    });
});

Dodaję logi również 


8:35:14.895 PM
outlined_flag	
someMethod
Function execution took 60002 ms, finished with status: 'timeout'
8:35:12.465 PM
outlined_flag	
someMethod
Function execution took 60002 ms, finished with status: 'timeout'
8:34:22.252 PM
info	
someMethod
 Error getting documents TypeError: snapshot is not a function
    at db.collection.doc.get.then.snapshot (/user_code/index.js:18:13)
    at process._tickDomainCallback (internal/process/next_tick.js:135:7)
8:34:17.758 PM
info	
someMethod
 Error getting documents TypeError: snapshot is not a function
    at db.collection.doc.get.then.snapshot (/user_code/index.js:18:13)
    at process._tickDomainCallback (internal/process/next_tick.js:135:7)

Z góry dzięki za pomoc

1 odpowiedź

0 głosów
odpowiedź 27 maja 2018 przez maciej.tokarz Nałogowiec (27,260 p.)

Cześć, możesz uprościć i sprawdzić czy w ogóle otrzymasz jakiś wynik tego zapytania na users? Tutaj jest to dość dobrze rozpisane (nie stosowałem nigdy tej firebase).

var docRef = db.collection("cities").doc("SF");

docRef.get().then(function(doc) {
    if (doc.exists) {
        console.log("Document data:", doc.data());
    } else {
        // doc.data() will be undefined in this case
        console.log("No such document!");
    }
}).catch(function(error) {
    console.log("Error getting document:", error);
});

M.

komentarz 28 maja 2018 przez Wonderpol Gaduła (3,730 p.)
Właśnie próbowałem coś takiego ale w logach mam dalej timeout nawet robiłem pustą fun i to samo więc zastanawiam się w czym problem. Zapytanie idzie Ale się nie ładuje kręci i kręci xd
komentarz 28 maja 2018 przez maciej.tokarz Nałogowiec (27,260 p.)
Jakieś dane połączenia masz pewnie źle wprowadzone - sprawdź trzy razy...

M.
komentarz 28 maja 2018 przez maciej.tokarz Nałogowiec (27,260 p.)

Ew. sprawdź Postmanem.

Edit: program

M.

komentarz 28 maja 2018 przez Wonderpol Gaduła (3,730 p.)
Sprawdzałem nie postman'em ale odpowiednikiem na Linux'a. Co do firebase to raczej dobrze podpięte bo te logi to z konsoli z firebase

Podobne pytania

0 głosów
0 odpowiedzi 1,036 wizyt
pytanie zadane 29 kwietnia 2017 w JavaScript przez moofi Początkujący (470 p.)
0 głosów
0 odpowiedzi 321 wizyt
pytanie zadane 28 grudnia 2017 w Inne języki przez Adam Ostrogórski Obywatel (1,070 p.)
0 głosów
1 odpowiedź 354 wizyt
pytanie zadane 14 września 2019 w JavaScript przez Louel Nowicjusz (140 p.)

93,718 zapytań

142,631 odpowiedzi

323,262 komentarzy

63,266 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...