我正在从防火墙中获取数据,并尝试对其进行过滤,这样我就可以根据需要以不同的方式显示数据,数据被正确地抓取并到达,但当数据到达时,我很难过滤数据,筛选器似乎是在数据到达之前触发的。
承诺:
eventsToday() {
let uid = this.$store.state.user.activeUser
let today = '2034'
const events = new Promise((resolve, reject) => {
let fetchedData = getCalanderList(uid)
resolve(fetchedData)
})
events.then(data => {
console.log('Recieved data:', data.data)
// Returns Array with 5 Objects
let filteredData = data.data.filter(item => {
return item.dateStamp == today
})
console.log('Filtered Data:', filteredData)
// Returns Empty Array
})
异步/等待:
async eventsToday() {
let uid = this.$store.state.user.activeUser
let today = '2034'
const events = await getCalanderList(uid)
console.log('Recieved Data', events.data)
// Returns Array with 5 Objects
const filteredData = await events.data.filter(item => {
return item.dateStamp == today
})
console.log('Filtered Data:', filteredData)
// Returns Empty Array
},
events.data返回一个由5个对象组成的数组:
[{ day: 'monday', dateStamp: '2033' }, { day: 'tuesday', dateStamp: '2034' }, { day: 'wednesday', dateStamp: '2034' }, { day: 'thursday', dateStamp: '2035' }, { day: 'friday', dateStamp: '2035' }]
发布于 2019-04-09 07:34:12
很可能您的日期等式检查失败了,您不应该像在过滤器函数中那样比较日期,您应该先将它们解析为Date
对象,然后使用它们的getTime
方法来比较它们,如下所示:
date1.getTime() === date2.getTime()
https://stackoverflow.com/questions/55587157
复制相似问题