【发布时间】:2019-03-11 22:37:52
【问题描述】:
我正在尝试从我创建的 Google Cloud Function (GCF) 向另一个 Web 服务发出 HTTP 请求。我需要 HTTP 请求来完成并在我的 GCF 中返回该结果,以便我可以用它做其他事情。
我的问题是;在 Google Cloud Function 中使用 Promise 的最佳方式是什么?我正在尝试做的事情可能吗?
我的代码目前如下所示:
export const MyGCF = functions.https.onRequest((request, response) => {
let dayOfTheWeek: any;
const request1 = require('request');
const url = 'http://worldclockapi.com/api/json/pst/now';
function getDay() {
return new Promise((resolve, reject) => {
request1(url, { json: true }, (err: any, res: any, body: any) => {
if (err) {
return reject(err);
}
resolve(body.dayOfTheWeek);
});
});
}
getDay().then((data) => {
dayOfTheWeek = data;
console.log(dayOfTheWeek);
});
});
【问题讨论】:
-
是的,有可能。您可以在函数中编写任意代码。但是您实际上永远不会使用
response.send()或任何等效项将响应发送回客户端,因此此函数总是会超时。 -
谢谢 Doug.. 我能得到一个代码示例吗?我对如何写一个感到困惑。
-
"我不确定我是否可以在谷歌云函数中拥有多个函数。" - 是的,你可以
-
如果您对如何为 Cloud Functions 编写代码感到困惑,您应该从文档开始。 firebase.google.com/docs/functions
-
我知道如何为云函数编写代码,但我不知道如何在 CF 中编写 promise 函数调用。我找不到代码示例,并且在我的代码编辑器中出现错误。所以我正在寻找简单的例子
标签: javascript google-cloud-firestore google-cloud-functions