Я использую Nuxt + Express / Feathers для создания приложения, при этом они взаимодействуют через соединение socket.io. Используя перо-vuex, я могу легко отправлять запросы от моего клиента к бэкэнду, и ответы прекрасно возвращаются на вкладке сети инспектора chrome, но в разрешенном обещании в моем коде каждый возвращаемый объект равен undefined
.
Запрос Websocket:
4235["find", "journals", {}]
Ответ Websocket:
4335[null, {total: 3, limit: 10, skip: 0,…}]
0: null
1: {total: 3, limit: 10, skip: 0,…}
data: [{_id: "5af62077f2389a7490be22d6"}, {_id: "5af62094f2389a7490be22d7", some: "data"},…]
0: {_id: "5af62077f2389a7490be22d6"}
1: {_id: "5af62094f2389a7490be22d7", some: "data"}
2: {_id: "5af66b3ae8c629789f35ead3", name: "john", surname: "doe"}
limit: 10
skip: 0
total: 3
А вот как results
выглядит в отладчике:
{total: 3, limit: 10, skip: 0, data: Array(3)}
data: Array(3)
0: undefined
1: undefined
2: undefined
length: 3
__proto__: Array(0)
limit: 10
skip: 0
total: 3
__proto__:
...
Это раздел моей страницы Nuxt, где я делаю запрос:
<template>
<h1>{{journals}}</h1>
<button class="btn btn-primary" @click="findThoseJournals()">
Search Journals
</button>
</template>
<script>
import { mapActions } from 'vuex';
export default {
data () {
return {
journals: []
}
},
methods: {
...mapActions('journals', {
findJournals: 'find'
}),
findThoseJournals() {
this.findJournals({query: {}}).then((results) => {
debugger;
this.journals = results.data;
});
}
},
}
</script>
И для записи, при визуализации, results.data
выглядит как [ноль, ноль, ноль].
Я полностью растерян относительно того, что вызывает это поведение. Почему метаданные переносятся, а сами данные не переносятся (но все равно количество записей )? Что происходит между откликом фрейма веб-сокета и обещанием, которое вызывает именно исчезновение данных?