UNPKG

@iel/axios-ext-response-wrap

Version:

Axios response result wrapper.

22 lines (21 loc) 870 B
import { isArray } from '@iel/axios-ext-utils'; import { getResponseDataByAdaptors, getResponseErrorMsg } from './utils'; /** * 元祖响应包装器 * 使用后将响应数据或错误信息以元祖形式返回。 */ export default function wrapper(adaptors) { const _adaptors = isArray(adaptors) ? adaptors : [adaptors]; const wrapper = { transformResponseData: (response) => { const responseData = getResponseDataByAdaptors(response.data, _adaptors); if (response.status !== 200) return [true, getResponseErrorMsg(response), response]; return [responseData.error, responseData.error ? responseData.message : responseData.data, response]; }, transformResponseError: (error) => { return [true, getResponseErrorMsg(error), error]; } }; return wrapper; }