TM_request

Tampermonkey http request 库

目前为 2020-12-05 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.cn-greasyfork.org/scripts/418102/877111/TM_request.js

"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);
  });
};