首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Firebase Google Cloud函数调用外部终结点

Firebase Google Cloud函数调用外部终结点
EN

Stack Overflow用户
提问于 2019-05-23 01:26:44
回答 1查看 809关注 0票数 1

我正在尝试使用一个调用外部API的Google Cloud函数。我在Blaze计划中,所以我应该能够进行外部调用。我有一个Express应用程序和以下测试路由:

代码语言:javascript
运行
AI代码解释
复制
app.get('/helloWorld', (request, response) => {
    response.send('Hello there');
});

app.get('/test', (request, response) => {
    request.get("https://postman-echo.com/get?foo1=bar1&foo2=bar2", (error, res, body) => {
        console.log('error:', error);
        console.log('statusCode:', res && res.statusCode);
        console.log('body:', body);
        if(error) {
            response.status(400).send(error);
        }
        response.status(200).send(body);
    });
});

/helloWorld路由工作正常,但/test路由每次都会超时。如果我查看函数的Firebase日志,我会看到:

代码语言:javascript
运行
AI代码解释
复制
9:19:29.837 PM
api
Function execution started
9:20:29.839 PM
api
Function execution took 60002 ms, finished with status: 'timeout'
9:21:09.263 PM
api
Function execution started
9:21:09.277 PM
api
Function execution took 14 ms, finished with status code: 200
9:21:13.515 PM
api
Function execution started
9:22:13.516 PM
api
Function execution took 60002 ms, finished with status: 'timeout'

因此,它就像是在无限循环中一遍又一遍地调用函数,并且每次都超时,直到它最终超时,客户端才会返回任何东西。我在这里做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-23 03:01:39

由于您调用的是第三方异步API,因此当您的代码完成时,您必须告知Cloud Functions。为此,您可以从函数返回promise,然后确保promise在所有(异步)工作完成时解析。

代码语言:javascript
运行
AI代码解释
复制
app.get('/test', (request, response) => {
    return new Promise((resolve, reject) {
        request.get("https://postman-echo.com/get?foo1=bar1&foo2=bar2", (error, res, body) => {
            console.log('error:', error);
            console.log('statusCode:', res && res.statusCode);
            console.log('body:', body);
            if(error) {
                response.status(400).send(error);
                reject(error);
            }
            response.status(200).send(body);
            resolve();
        });
    });
});

您可能希望考虑使用像request-promise这样的库,以避免需要自己的Promise逻辑。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56266941

复制
相关文章
js 外部调用 嵌套函数
 在函外部直接调用函数的内部函数是不可以的 ,因为是向外查找的  所以不能直接内部函数
坚毅的小解同志的前端社区
2022/11/28
10.6K0
js 外部调用 嵌套函数
C++内部函数与外部函数 | 调用外部Max函数
内部函数是指一个函数只能被本文件中其他函数所调用,在定义内部函数时,在函数名和函数类型的前面加static。
小林C语言
2020/12/01
2.4K0
C++内部函数与外部函数 | 调用外部Max函数
Google 的 Firebase 如何删除项目
https://www.ossez.com/t/google-firebase/13792
HoneyMoose
2021/11/02
3.2K0
Google 的 Firebase 如何删除项目
Python笔记:外部c函数调用
前些时候,一个朋友突然问我:python做计算实在是太慢了,有什么办法可以加速python的运算吗?我说:简单啊,你直接调用外部c函数就行了,我印象中cython可以直接实现的。闻言,我那个朋友喜出望外,遂言:太好了,那你给我写个demo呗。。。
codename_cys
2021/03/25
1.6K0
汇编学习(6), 外部函数,调用约定
在前面已经多次见过使用printf了,这次我们也可以自己写一些外部函数,下面是一个例子: 首先定义2个外部函数,分别是c_area和c_circum。
一只小虾米
2022/12/11
6890
汇编学习(6), 外部函数,调用约定
VBA调用外部对象02:FileSystemObject——其他函数
fso.GetFileName这个功能在需要判断文件名称是否符合某个条件的时候用的还是比较多的,如果要自己去处理,用VBA Strings模块下的Left、Right、Mid函数等也是可以的。
xyj
2020/07/28
1.7K0
如何将你的Hexo博客部署到Google Firebase上
博主最近在 白嫖万恶的资本 将博客部署到新的CDN上,所以在寻找免费的静态Web应用部署工具,发现了Google Firebase。
pai233
2022/04/26
1.4K0
如何将你的Hexo博客部署到Google Firebase上
ABAP调用外部WebService
有两种方式 一种就是网上流传的 下面转载内容 TCode:se80 选择 Package,输入我们自己的开发包,后回车 右击 开发包名称,选择菜 出现创建向导窗口 选择”Service Consume
matinal
2020/11/27
1.8K0
ABAP调用外部接口
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142368.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/25
1.3K0
spring cloud利用feign和sentinel进行内部或外部远程调用
    基于上篇讲解的Sentinel之后,这次讲讲spring cloud环境下最优雅的远程调用方式Feign
chinotan
2019/04/03
3.4K0
spring cloud利用feign和sentinel进行内部或外部远程调用
firebase怎么用_firebase是什么
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168361.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/20
4.3K0
firebase怎么用_firebase是什么
外部css文件调用
1 <link rel="stylesheet" href="body.css" type="text/css"> 2   <body> <div class="left">    <p><a href="index.jsp">上传文件</a></p>    <p><a href="download.jsp">下载文件</a></p>    <p><a href="rename.jsp">修改文件名</a></p>    <p><a href="delete.jsp">删除文件</a>
闵开慧
2018/03/30
2.6K0
Google Assistant 添加 Light Action
Firebase -> Functions ->Dashboard 可以看到your-cloud-functions-url,
程序手艺人
2019/06/14
3.9K0
Google Assistant 添加 Light Action
小程序云函数调用http或https请求外部数据
我们使用小程序云开发的时候,难免会遇到在云函数里做http获取https请求外部数据,然后再通过云函数返回给我们的小程序。今天就来教大家如何在云函数里做http和https请求。 老规矩,先看效果图
编程小石头
2020/10/22
3.4K0
小程序云函数调用http或https请求外部数据
我们弃用 Firebase 了
作者 | John Considine 译者 | 平川 策划 | 刘燕 我们已经在 Firebase 上发布了 10 几款应用程序,几乎用到了该平台每个方面的特性,并设计了一个可以实现优雅扩展的手册。可以说,事实已经证明,Firebase 对 K-Optional Software 而言是非常宝贵的工具。 就在 2022 年 3 月,我们的开发人员还在为 Firebase Extensions 等创新欢呼。遗憾的是,过去几个月的三个主要变化破坏了开发体验,因此,在新项目中,K-Optional 将
深度学习与Python
2023/03/29
33.3K0
我们弃用 Firebase 了
python调用外部命令
os.popen4: 返回2个对象,pip_in 和pip_out_err(标准输出和标准错误输出保存到一个输出pip_out_err)
py3study
2020/01/06
1.2K0
内部函数与外部函数
函数是c语言程序中的最小单位,往往把一个函数或多个函数保存为一个文件,这个文件称为源文件。定义一个函数,这个函数就要被另外的函数所调用。但当一个源程序由多个源文件组成时,可以指定函数不能被其他文件调用,这样C语出又把函数分为两类:一个是内部函数,另一个是外部函数。
pigeon
2022/04/11
1K0
Python调用外部系统命令
利用Python调用外部系统命令的方法可以提高编码效率。调用外部系统命令完成后可以通过获取命令执行返回结果码、命令执行的输出结果进行进一步的处理。本文主要描述Python常见的调用外部系统命令的方法,包括os.system()、os.popen()、subprocess.Popen()等。
Python学习者
2023/07/04
3010
python 调用Google Tran
调用Google 翻译API进行翻译 #!/usr/bin/python #coding: UTF-8 import sys reload(sys) sys.setdefaultencoding('utf8') from xml.etree import ElementTree as ET #引入解析xml文件的模块 import re import urllib,urllib2 #引入接入网络接口API的模块 from socket import error as SocketE
py3study
2020/01/09
1.1K0
点击加载更多

相似问题

安排Google Cloud任务以调用Firebase函数

213

Google连接到Firebase函数,无法调用外部api?

10

Firebase调用Google Cloud function issue -两个同名函数

10

Google Sheet Sync Firebase Cloud函数问题

10

从本地Firebase Emulator调用Google Cloud API

113
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档