我有一个函数需要编写异步,但我无法以正确的方式完成。我怎样才能做到这一点?
async search (loading, search, vm) {
let vm = this
_.debounce(() => {
let ApiURL = '/users/'
}
let { res } = await api.get(ApiURL) //Error
vm.options = res.data
}, 800)
最佳答案
在处理 promises 时,您应该避免使用 Lodash 提供的 debounce 函数,因为它不区分同步和异步函数,并且就像您提供给它的函数是同步的一样工作。所以它不会等到 promise 被解决或拒绝并立即返回。这意味着花在 ajax 请求上的时间不计入函数执行时间,并且在网络延迟的情况下,响应可能以不同的顺序出现。
我建议拿起 awesome-debounce-promise在 npm 上。
关于javascript - 在 Vuejs 组件中使用 Lodash 编写异步函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50422806/