TM_request

Tampermonkey http request 库

2020-12-05 기준 버전입니다. 최신 버전을 확인하세요.

이 스크립트는 직접 설치하는 용도가 아닙니다. 다른 스크립트에서 메타 지시문 // @require https://update.greasyfork.org/scripts/418102/877111/TM_request.js을(를) 사용하여 포함하는 라이브러리입니다.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

"use strict";

// ==UserScript==
// @name               TM_request
// @namespace          TM_request
// @version            1.0.0
// @description        Tampermonkey http request 库
// @author             HCLonely
// @license            MIT
// ==/UserScript==

/* eslint-disable camelcase */
window.TM_request = function TM_request(options) {
  return new Promise(function (resolve, reject) {
    options.onload = options.onload || function (response) {
      response.requestOptions = options;
      response.tmStatusText = 'Load';
      resolve(response);
    };

    options.ontimeout = options.ontimeout || function (response) {
      response.requestOptions = options;
      response.tmStatusText = 'Timeout';
      resolve(response);
    };

    options.onerror = options.onerror || function (response) {
      response.requestOptions = options;
      response.tmStatusText = 'Error';
      resolve(response);
    };

    options.onabort = options.onabort || function (response) {
      response.requestOptions = options;
      response.tmStatusText = 'Abort';
      resolve(response);
    };

    GM_xmlhttpRequest(options);
  }).then(function (response) {
    return response;
  })["catch"](function (error) {
    console.error(error);
  });
};