Задать вопрос
@Denis1111

Как переписать этот код в ES6?

let util = require('util'),
     http = require('http');

function HttpError(status, message) {
  Error.apply(this, arguments);
  Error.captureStackTrace(this, HttpError);

  this.status = status;
  this.message = message || http.STATUS_CODES[status] || "Error";
}

util.inherits(HttpError, Error);

HttpError.prototype.name = 'HttpError';

exports.HttpError = HttpError;
  • Вопрос задан
  • 149 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Node.js v8.12/10.11

'use strict';

const { STATUS_CODES } = require('http');
// https://nodejs.org/api/esm.html#esm_enabling
// import { STATUS_CODES } from 'http';

class HttpError extends Error {
  constructor(status, message=STATUS_CODES[status]) {
    super(message);

    Error.captureStackTrace(this, this.constructor);

    this.name = this.constructor.name;
    // this.status = status;
    // https://nodejs.org/api/errors.html#errors_error_code
    this.code = status;
    this.message = message || 'Error';
  }
}

module.exports = HttpError;
// export default HttpError;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
vahe_2000
@vahe_2000
import util from 'util';
import http from 'http';

function HttpError(status, message) {
  Error.apply(this, arguments);
  Error.captureStackTrace(this, HttpError);

  this.status = status;
  this.message = message || http.STATUS_CODES[status] || "Error";
}

util.inherits(HttpError, Error);

HttpError.prototype.name = 'HttpError';

export {HttpError};
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы