вызвать функцию express из клиента, используя вызываемый - PullRequest
0 голосов
/ 04 мая 2020

следующий метод возвращает Hello world , когда я слушаю локальный порт с помощью моего браузера.

// Узел

app.get('/', (req,res)=>{
        res.send('Hello world')
        });

Я экспортировал приложение как функцию вызываемого облака с именем: getConstits

// Узел

exports.getConstits = functions.https.onCall(app);

Затем я вызываю функцию в моем клиенте.

// Клиент

final HttpsCallable callable = CloudFunctions.instance.getHttpsCallable(
    functionName: 'getConstits',
);


getElec()async{
    dynamic resp = await callable.call();
    print(resp);
}

Но я получаю необработанное исключение (будет публиковать при необходимости). URL, сгенерированный облачной функцией, возвращает {"error":{"message":"Bad Request","status":"INVALID_ARGUMENT"}}. Я хочу вернуть привет клиенту?

1 Ответ

2 голосов
/ 04 мая 2020

Функции, которые можно вызвать, не поддерживают express приложения, такие как обычные функции HTTP.

Если вы хотите написать приложение express и развернуть его в облачных функциях, вам придется следовать инструкциям по express приложения с функциями HTTP . Если вы сделаете это, вы не сможете использовать вызываемую функцию SDK на клиенте - вам придется вместо этого использовать обычную библиотеку HTTP.

Если вы хотите написать вызываемую функцию чтобы вызвать предоставленный клиентский SDK, вам просто нужно записать лог c функции без помощи express, поскольку вызываемый SDK обрабатывает все детали реализации HTTP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...