Предполагая, что ваш API работает, первое, что вы делаете неправильно, это то, что вы возвращаетесь из обратного вызова при разрешении Promise, а не из метода getNodeName
.
Один простой способ добиться того, что вы делаете хочу, это l oop через storeList
(при условии, что это опора) внутри mounted
ловушки жизненного цикла (используя функции стрелок здесь)
...
<tr v-for="node in nodes" :key="node.id">
<td>{{ node.name }}</td>
</tr>
...
data() {
return {
nodes: []
};
},
mounted() {
this.storeList.forEach(store => this.getNodeName(store.store_name));
},
methods: {
getNodeName(nodeId) {
axios.get('api/store/getNodeName/' + nodeId)
.then(response => this.nodes.push({ id: nodeId, name: response.data[0].name }))
}
}
...
Вы, вероятно, также хотите превратить это в один вызов API, если это возможно, поскольку вы делаете storeList.length
вызовы.