react.js fetch 基于单例+轻提示(toast)的简单封装

  • Services
/* eslint-disable no-useless-constructor */

import config from './config.js';

import 'whatwg-fetch'
import toast from '../toast/index.js'

export default class Services {
   
	constructor() {
    }
	// 单例
	static getInstance() {
   
		if (!Services.instance) {
   
			Services.instance = new Services();
			return Services.instance;
		}
		return Services.instance;
	}

	post(action, data) {
   
		toast.loading("加载中")
		return fetch(config.base_url + action, {
   
			method: 'POST', // or 'PUT'
			body: JSON.stringify(data),
			headers: {
   
				'Accept': 'application/json',
				'Content-Type': 'application/json'
			}
		}).then(res => res.json())
	}
	get(action) {
   

		toast.loading("加载中")
		return fetch(config.base_url + action)
			.then(response => {
   
				return response.json()
			})
	}
	get1(action) {
   
		return fetch(action)
			.then(response => {
   
				return response.json()
			})
	}
}
  • config.js
export default {
   
       base_url: '请求地址'
}
  • 轻提示
import React from 'react'
import ReactDOM from 'react-dom'
import Toast from './toast'
import './toast.css'

function createNotification() {
   
    const div = document.createElement('div')
    document.body.appendChild(div)
    const notification = ReactDOM.render( < Toast / > , div)
    return {
   
        addNotice(notice) {
   
            return notification.addNotice(
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值