He estado tratando de solucionar el siguiente problema durante los últimos dos días. Quiero crear un usuario y luego devolver una lista como se muestra a continuación:
exports.createUser = functions.https.onCall((data,context) => { try { admin.auth().createUser({ email: "kevin3928@gmail.com" password: "a3tbmz" }).then((arg) => { // a) if I return a variable here it doesn't work }); // b) if I return a variable here it works } });Devolver una variable usando el método b) funciona pero necesito devolver la variable usando el método a). No puedo usar async y await porque recibiré el siguiente error:
error Parsing error: Unexpected token => ✖ 1 problem (1 error, 0 warnings)Agradezco si alguien me puede ayudar con esto, pasé todo el fin de semana tratando de resolver esto...
Debe devolver un valor del código de nivel superior de su función; de lo contrario, Cloud Functions puede/terminará su código antes de que se complete la operación asíncrona.
exports.createUser = functions.https.onCall((data,context) => { try { return admin.auth().createUser({ email: "kevin3928@gmail.com" password: "a3tbmz" }).then((arg) => { return "result"; }).catch((err) => { return err; }); } });Consulte también el segundo fragmento de código en la documentación sobre cómo devolver el resultado , que hace algo similar.
probar
let userCreated = false exports.createUser = functions.https.onCall((data,context) => { try { admin.auth().createUser({ email: "kevin3928@gmail.com" password: "a3tbmz" }) userCreated = true if(userCreated){ return // the object you wanted to return } } catch(err){ throw new Error(err) } });