Обещание установлено правильно (?), Но не всегда работает - JavaScript в функциях Firebase - PullRequest
0 голосов
/ 02 августа 2020

Правильно ли это обещание? Он работает 99% времени, но возможно, что время от времени он не записывает значение. Я предполагаю, что это потому, что у меня написано так много переменных. Должен ли я изменить return null, чтобы вернуть dbwritedata2 или что-то в этом роде?


async function dbwrite2() {
    try {
        dbwritedata2 = {
            a: a,
            pb: pb,
            pn: pn,
            po: po,
            q: q,
            qref: qref,
            s: s,
            t: t,
            tb: tb,
            tn: tn,
            to: to,
            type1: type1,
        };

        dbwritedata3 = {
            epsilon: epsilon,
        };

        let setDoc2 = db
            .collection('qtable')
            .doc('qtable')
            .collection(pass)
            .doc(docnametemp)
            .set(dbwritedata2);
        let setDoc3 = db
            .collection('qtable')
            .doc('qtable')
            .collection(pass)
            .doc('ref')
            .update(dbwritedata3)
            //update epsilon (above)
            //this step and all others needs to be moved

            .then((doc) => {
                return null;
            });

        //  })
        // do stuff
        console.log('do stuff');
    } catch (e) {
        // error!
    }
    return null;
} //end dbwrite2

return dbwrite2().then(function(response) {
    rr = 'done';

    res.status(200).send(rr);
});

...