代码之家  ›  专栏  ›  技术社区  ›  lealceldeiro VonC

使用'admin on rest/lib/util/HttpError'中的'HttpError'是否安全?

  •  3
  • lealceldeiro VonC  · 技术社区  · 7 年前

    我的API提供程序正在 response.body 作为一个 ReadableStream

    我打算这样做:

    import HttpError from 'admin-on-rest/lib/util/HttpError'
    import _ from 'lodash';
    
    function handleError(response) {
      if (_.isFunction(response.text)) {
        const statusText = response.statusText;
        const status = response.status;
        return response.text().then(text => { // get the text from the ReadableStream
          return Promise.reject(new HttpError( text || statusText, status));
        });
      } else { throw new Error(response.statusText); }
    }
    

    //...
    if (response.status < 200 || response.status >= 300) {
        return handleError(response);
    }
    //...
    

    但我觉得 HttpError 直接通过 'admin-on-rest/lib/util/HttpError' 内部 'admin-on-rest'

    不能 import HttpError from 'admin-on-rest/lib/util/HttpError' __WEBPACK_IMPORTED_MODULE_0_admin_on_rest___default.a is not a constructor

    • 所以,进口是安全的 喜欢与否: ?
    • 如果没有,还有别的选择吗?
    1 回复  |  直到 7 年前
        1
  •  1
  •   lealceldeiro VonC    7 年前

    一个简单而安全的选择可以是 使用 HttpError

    相反地 Promise.reject 简单对象 作为参数,其中包含 message status 像这样的属性:

    //...
    return response.text().then(text => {
      return Promise.reject({message: text || statusText, status: status});
    });
    //...
    
    推荐文章