Облачные функции выполняются в контейнере в управляемой среде. Среда старается свести к минимуму продолжительность работы контейнера, и для того, чтобы это сделать, она должна знать, когда ваша функция выполнена. Обычно в JavaScript-коде выполняется, когда последний }
был выполнен, но это становится более сложным, когда вам также необходимо учитывать асинхронные операции. По этой причине Cloud Functions ожидает, что вы сообщите об этом, когда функция будет выполнена, в случае functions.auth.user().onCreate
, возвращая значение или обещание.
Когда вы явно возвращаете значение, становится ясно, что функция выполнена. Когда вы явно возвращаете обещание, становится ясно, что функция должна оставаться активной, пока обещание не будет разрешено / отклонено. Когда вы не возвращаете значение, неясно, в каком состоянии находится функция.
В вашем случае исправление простое, а вы, например, просто return true
до финала }
.
exports.accountCreate = functions.auth.user().onCreate(user => {
console.log("--->"+user.data);
console.log("ok");
return true;
});
Фактическое значение не имеет смысла, кстати, return null
будет работать так же хорошо.