google-cloud-functions - 谷歌函数调用另一个谷歌函数:statusCodeError 500
问题描述
我有一个谷歌函数,它调用在另一个谷歌函数上运行的 API。这两个函数都在 NodeJS 中。我request-promise-native
用于调用第二个函数。
代码如下:
const rp = require('request-promise-native');
const URL = '....';
const callAPI = (param1, param2) => {
return new Promise(resolve => {
const url = URL;
const data = {'param1': param1, 'param2':param2};
const options = {
method: 'POST',
uri: url,
body: data,
json: true
};
rp(options)
.then(result => {
resolve(result);
})
.catch(err => {
console.log('error in apicall:', err);
resolve('');
});
});
};
callAPI('p1', 'p2')
.then(result => {
... do something
})
.catch(err => {
... handle error
});
偶尔我会得到一个 statusCodeError (它被捕获在请求承诺捕获中),如下所示
{ StatusCodeError: 500 - "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<m ....
它何时发生没有一致性,但它确实以某种频率发生。
解决方案
推荐阅读
- spring - Spring集成:使用引用而不是值作为属性?
- html - 如何让我的图标和横幅图像对齐。
- javascript - 从字符串中提取数字并删除小数并将其添加到字符串中
- r - 使用 np 和降雪并行估计多个非参数模型
- single-sign-on - 如何将 CA SSO(CA Siteminder) SAML IdP 配置为 asp.net azure web 应用程序?
- r - ifelse() 没有在 R 中正确存储值
- php - 手动安装mysql后phpmyadmin访问被拒绝
- ajax - 为什么我无法 ajax 更新 Primefaces ContextMenu(用于 DataTable)?
- c# - 检查 API 是否存在,应该是 Get 还是 Post 方法?
- angular - 等待条件失败后量角器重试函数