FirebaseCloudFunctions only returns null



我正试图从Firebase云函数获得响应,但唯一得到的是null。控制台输出显示fetch命令工作并输出正确的数据。

exports.create = functions.https.onCall((data, context) => {
fetch("https://mywebsite.com/x", {
method: "POST",
headers: {
"Authorization": "Bearer MyKey",

},
body: JSON.stringify({"myData":data.myData})
}).then(
function(response) {
if (response.status !== 200) {
console.log('Looks like there was a problem. Status Code: ' +
response.status);
return;
}
// Examine the text in the response
response.json().then(function(data) {
console.log(data);


});
return data.json();
}
)
.catch(function(err) {
console.log('Fetch Error :-S', err);
});

});

我试着使用Promise,我试着将is作为json返回,就像return data一样,似乎什么都不起作用。结果总是null

我在flutter应用程序中使用的代码是:

HttpsCallable callable =
FirebaseFunctions.instance.httpsCallable('create');
final response = await callable.call(<String, dynamic>{
'myData': 'data',

}).then((value) => print(value.data));

您没有从函数中的顶级代码返回任何内容,这意味着Cloud Functions在最终}执行时终止容器,远远早于fetch调用完成。

要同时允许fetch调用完成向调用方返回值,请确保从cde:的顶级调用return

exports.create = functions.https.onCall((data, context) => {
// 👇
return fetch("https://mywebsite.com/x", {
...

相关内容

  • 没有找到相关文章