New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

codestar-http-request-web

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

codestar-http-request-web

```typescript import type {Result} from 'codestar-base' import HttpRequestWeb from "codestar-http-request-web"; class MyHttp extends HttpRequestWeb{

latest
npmnpm
Version
4.2.0
Version published
Maintainers
1
Created
Source

web环境http请求类封装

import type {Result} from 'codestar-base'
import HttpRequestWeb from "codestar-http-request-web";
class MyHttp extends HttpRequestWeb{

  baseUrl(){
    return "https://my.domain/api"
  }
  
  protected defaultTimeout(): number {
    return 10_000;
  }

  protected defaultHeaders(): { [p: string]: string } {
    return {
      "content-type": "application/json",
      "token": "***"
    };
  }

  showError(ret: Result<any>): void {
    // 如何显示错误消息
    window.alert(ret.msg)
  }
}

const myHttp = new MyHttp()
// 对于一些全局错误统一处理,这样就不必每次请求都要单独处理全局错误了
myHttp.addGlobalErrorHandle(['401','account-session-dropped'],(ret: Result<unknown>)=>{
  // 未登录,或者登录失效
  // 统一处理需要登录的情况,比如跳转到登录页面 或者弹出登录框
})
myHttp.addGlobalErrorHandle('subscription-expired',(ret: Result<unknown>)=>{
  // 订阅过期,需要重新续费,这里增加一个全局处理逻辑,比如弹出续费提示框。
})
// 发起GET请求
let locking = true
myHttp.get({
  url:'/query.do',
  query:{name:'amy'},
  success:(ret:Result<string>)=>{
    console.log('查询成功')
  },
  always:()=>{
    locking = false
  }
})
// 如果出现非GlobalError,会调用showError(ret: Result<any>): void {}
// 如果你想单独处理这个请求的错误
myHttp.get({
  url:'/query.do',
  query:{name:'amy'},
  success:(ret:Result<string>)=>{
    console.log('查询成功')
  },
  hideGlobalError:true,// true表示全局错误不执行fail回调,默认false
  fail:(ret:Result<any>)=>{
    // 如果传入了fail处理回调。如果请求失败,将不会调用HttpRequestWeb里面定义的showError方法
    
  },
  always:()=>{
    locking = false
  }
})
// 发送post请求
myHttp.post(
    {
      url:'/save.do',
      data:{...},
      success:(ret:Result<T>)=>{
        // 提交成功
      }
    }
)
// Promise风格
const ret:Result<T> = await myHttp.send('GET', {url:'',query:{...}})

FAQs

Package last updated on 01 Oct 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts