首页 > 解决方案 > 谷歌函数调用另一个谷歌函数: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 ....

它何时发生没有一致性,但它确实以某种频率发生。

标签: google-cloud-functionsrequest-promise

解决方案


推荐阅读