关于lodash的_.merge方法和异步顺序的问题?
大致如下
在执行这一段时,前面还有一个操作,就是获取options
function formatData(){
console.log('getFilterConfig-start!')
console.log(this.fields) // ①
this.filters = _.merge({}, this.defaultConfig.filterConfig, this.filterConfig, {
fields: this.fields,
})
console.log('lodash--->',this.filters) // ②
}
其中this.defaultConfig.filterConfig和this.filterConfig的值都是这些
从①的打印结果,可以看到已经成功拿到异步请求的数据
但是执行完lodash的merge后,根据②的打印结果,并没有成功拿到数据
更新
但是如果这样 this.filters = {...this.filters, fields: this.fields}
这种赋值的方式
function formatData(){
console.log('getFilterConfig-start!')
console.log(this.fields) // ①
this.filters = _.merge({}, this.defaultConfig.filterConfig, this.filterConfig)
console.log('lodash--->',this.filters) // ②
this.filters = {...this.filters, fields: this.fields}
console.log('赋值--->',this.filters) // ③
}
这样的话,就能够成功获取异步的数据了
大佬解释下这是为什么啊?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
https://blog.csdn.net/weixin_...