no devolver la función de base de datos firestre en node.js

Aquí hay una solicitud para obtener una clave de las funciones de la nube. Estoy recibiendo la clave en la consola, pero no me está devolviendo la base de datos de firestre donde estoy almacenando los valores.

Aquí está mi código:

return request(options, function (error, response, body){ tokenName = body.notification_key; console.log('Key: ' + tokenName); //gives me the key successfully return Promise.all([tokenName]).then(() =>{ //this code doesn't run in the firestre functions console. console.log('key name: ' + tokenName); return db.collection('Users').doc(user_id).set({name: name1,token_id: token_id1,notification_key: tokenName,image: image,email: token_email}).then(() => { return console.log("Document successfully written!"); }) .catch(function(error) { return console.error("Error writing document: ", error); }); }); }); 

introduzca la descripción de la imagen aquí

Su código puede ser mucho más simple:

 return request(options, function (error, response, body){ tokenName = body.notification_key; console.log('Key: ' + tokenName); return db.collection('Users').doc(user_id).set({name: name1,token_id: token_id1,notification_key: tokenName,image: image,email: token_email}).then(() => { return console.log("Document successfully written!"); }) .catch(function(error) { return console.error("Error writing document: ", error); }); }); 

Sin embargo, eso todavía no escribe un resultado para la respuesta, pero es difícil estar seguro de cuál es el resultado que se debe obtener de lo que compartiste.

No estoy seguro de por qué estás intentando usar Promise.all() aquí. Le recomiendo que lea algunos tutoriales sobre promesas antes de continuar. Esta publicación del blog explica los conceptos básicos , este video explica las promesas , al igual que este video .