Вместо этого следует использовать Promise.all
, увеличивая countS
каждый раз, когда возвращается ответ
deleteProcess(ids) {
let countS = 0;
return Promise.all(ids.map((id) => (
axios({
method: "DELETE",
url: store.getters.getServerPath + "api/v1/product/" + id,
headers: store.getters.getConfigHeaders,
withCredentials: true
}).then(function (response) {
countS++;
})
)))
.then(() => countS);
}
Но вы также можете просто подсчитать length
из ids
, а не сохранять внешнюю переменную countS
:
.then(() => ids.length);
Также обратите внимание, что
Object.assign(ids)
ничего не делает - результирующее выражение равно ===
исходной переменной ids
, поэтому можно просто использовать исходную переменную.
Вы также можете рассмотреть возможность добавления catch
при возникновении проблемы:
controller.delete(this.selectedRows)
.then(function (res) {
console.log(res + " items deleted");
})
.catch((err) => {
console.log('error', err);
});