Javascript ошибка сервера JSON объекта с асинхронным возвратом - PullRequest
0 голосов
/ 20 сентября 2018

Во-первых, я пишу лямбда-функцию, как:

function jsonResponse(status, header, body) {
  return {
    headers: Object.assign(header, {
      'Access-Control-Allow-Origin': '*',
      'Content-Type': 'application/json;charset=utf-8'
    }),
    statusCode: status,
    body: JSON.stringify(body)
  }
}

export const hello = async (event, context, cb) => { 
  const rep = {
      message: 'v1.0',
      event: event
  };
  cb(null, jsonResponse(201, {}, rep)); 
  return;
};

Она работает нормально, но в соответствии с форумом без сервера Форум без сервера и блог Коддолжно быть

function createResponse(status, header, body) {
  return {
    headers: Object.assign(header, {
      'Access-Control-Allow-Origin': '*',
      'Content-Type': 'application/json;charset=utf-8'
    }),
    statusCode: status,
    body: JSON.stringify(body)
  }
}

export const hello = async (event, context) => { 
  const rep = {
      message: 'v1.0',
      event: event
  };
  return createResponse(201, {}, rep);
};

Для использования параметра обратного вызова, поскольку он официально не является частью синтаксиса асинхронного обработчика.

Я использую ту же версию nodejs 8.10, что и в статье, Но когда я применяю возвратфункция, я получаю 502 ошибку:

{
"message": "Internal server error"
}

Моя конфигурация обработчика без сервера:

functions:
  first:
    handler: handlers/first.hello
    events:
      - http:
          path: first
          method: get

Когда я пытаюсь запустить его локально, и он просто продолжает работать без какого-либо вывода для этого обработчика.

Можете ли вы сказать мне, почему это внутренняя ошибка и как ее исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...