Вы должны вызвать функцию через HTTP-запрос, используя functions.https
.Это позволяет вызвать синхронную функцию.Используйте functions.https
, чтобы создать функцию, которая обрабатывает события HTTP.Обработчик события для функции HTTP прослушивает событие onRequest()
.Используемый в качестве аргументов для onRequest()
, объект Request
дает вам доступ к свойствам HTTP-запроса, отправленного клиентом, а объект Response
дает вам возможность отправить ответ обратно клиенту.
exports.date = functions.https.onRequest((req, res) => {
// ...
});
Более подробная документация: https://firebase.google.com/docs/functions/http-events
Взгляните на пример ниже:
var functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
//Call function via HTTP requests. This allows invoke a synchronous function
exports.showValue = functions.https.onRequest((req, res) => {
const params = req.url.split("/");
const tempId = params[2];
return admin.database().ref('ID/' + tempId).once('value', (snapshot) => {
var value = snapshot.val();
res.send(`
<!doctype html>
<html>
<head>
<title>${value.name}</title>
</head>
<body>
<h1>Title ${value. name}, id ${value.id}</h1>
</body>
</html>`
);
});
});