美文网首页
bind, debounce 突然报错 Expect a fu

bind, debounce 突然报错 Expect a fu

作者: 王善良_ | 来源:发表于2020-02-21 15:11 被阅读0次
image.png

因为我这样写了

import { debounce } from 'lodash';

函数这里这样用,感觉用法没问题啊

 @debounce(500)
 handleSearch = async value => {}

仔细找了一下原因,原来是包下错了,因为@debounce,这样子是装饰器的写法,用普通的lodash包会报错,得用lodash 的装饰器包
cnpm i lodash-decorators --save

import { bind, debounce } from 'lodash-decorators';

这样子应该没问题了吧。。。。。
测试一下,突然发现debounce虽然没报错,但是好像没生效,我直接敲了一堆英文,秒发请求
没生效?????
怀疑是写法问题,换了一种写法

 @bind
 @debounce(500)
 async handleSearch(value) {}

成功,原来箭头函数跟async函数结合,不能用@debounce 装饰在上面,要换成普通async函数的写法
然后 再用 @bind 来实现箭头函数的this指向功能

相关文章

网友评论

      本文标题:bind, debounce 突然报错 Expect a fu

      本文链接:https://www.haomeiwen.com/subject/ctvcqhtx.html