0.1.10 • Published 1 year ago

vue-singleton v0.1.10

Weekly downloads
18
License
MIT
Repository
github
Last release
1 year ago

vue-singleton

vue 单例模式 method

一般场景为:用户提交表单或其他异步操作时,在上一次请求反馈前,阻止发起相同操作。

相比使用单例http请求,提前到操作发起点阻止。

安装

npm i vue-singleton -save

使用

import singleton from 'vue-singleton'

export default {
  // code...
  methods: {
    confirm: singleton(async function (config) {
      // code...
      // eg code.  const message = await axios.post(config)
      // eg code.  this.$notice(message)
    })
  }
}

捕获

如果需要捕获内部错误或被阻止的操作,可传feedback参数为true

import singleton from 'vue-singleton'

export default {
  // code...
  methods: {
    save (config) {
      // code...
      this.confirm(config).catch((error) => {
        if (error === singleton.prevent) {
          this.$notice('正在处理,请稍后。。。')
        }
      })
    },
    confirm: singleton(async function (config) {
      const message = await axios.post(config)
      this.$notice(message)
    }, true)
  }
}

参数

用法:singleton(callback, feedback) 功能:返回Promise类型的单例方法

  • callback Promise类型 回调函数(不能使用箭头函数),在上一次 调用resolve/reject 前,将阻住再次调用。
  • feedback 是否捕获异常,可以使用 singleton.prevent 判断是否为单例阻止事件。

注意

回调函数不能使用 箭头函数,否则作用域为 undefined !

0.1.10

1 year ago

0.1.8

1 year ago

0.1.7

1 year ago

0.1.9

1 year ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

4 years ago

0.1.0

4 years ago