VueJS:删除多个任务。每个任务一个请求?
VueJS: Delete multiple tasks. Each task one request?
我正在重建一个 TaskApp,我有一个 "Complete All" 按钮和一个 "Clear Completed" 按钮,可以删除所有已标记为已完成的任务。该应用程序如下所示:
这是 clearCompleted 方法。
clearCompleted: function () {
var that = this;
var toBeClearedTasks = this.tasks.filter(function (task) {
return task.completed;
});
toBeClearedTasks.forEach(function (task) {
that.$http.delete('/api/tasks/' + task.id, task);
});
this.tasks = this.tasks.filter(function (task) {
return !task.completed;
});
}
如您所见,它有一个 forEach 函数,可以向我的端点发送一个删除 http 请求,用于 每个要删除的任务。
这会触发问题,每当我按下黄色的 Complete All 按钮时,它就会执行我的 completeAll 方法,该方法会发送一个 http 请求每个 任务到我的端点。
completeAll: function () {
var that = this;
this.tasks.forEach(function (task) {
task.completed = true;
that.$http.put('/api/tasks/' + task.id, task);
});
},
现在我遇到了问题,当我点击 Complete All 按钮时,紧随其后的是 Clear Completed 按钮,当我刷新网站时,任务不会被删除。但是,当我在按下两个按钮之间给它一些时间时,一切正常,表明 http 请求需要一些时间在服务器端执行。
有没有办法使用队列之类的东西?或者有没有办法发送单个请求,然后在服务器端使用 foreach 循环?你打算如何解决一个问题,你可能有数百个任务要删除。通过 forEach 循环为每个和单个触发删除请求?
假设数据库指示任务是否已完成,我将发送 clear
的请求和 complete
任务的另一个请求。
clearCompleted: function () {
this.$http.put('/api/tasks/clear-completed')
this.tasks = this.tasks.filter(function (task) {
return !task.completed
});
},
completeAll: function () {
this.$http.put('/api/tasks/complete-all')
this.tasks.forEach(function (task) {
task.completed = true
});
}
希望对您有所帮助!
我正在重建一个 TaskApp,我有一个 "Complete All" 按钮和一个 "Clear Completed" 按钮,可以删除所有已标记为已完成的任务。该应用程序如下所示:
这是 clearCompleted 方法。
clearCompleted: function () {
var that = this;
var toBeClearedTasks = this.tasks.filter(function (task) {
return task.completed;
});
toBeClearedTasks.forEach(function (task) {
that.$http.delete('/api/tasks/' + task.id, task);
});
this.tasks = this.tasks.filter(function (task) {
return !task.completed;
});
}
如您所见,它有一个 forEach 函数,可以向我的端点发送一个删除 http 请求,用于 每个要删除的任务。
这会触发问题,每当我按下黄色的 Complete All 按钮时,它就会执行我的 completeAll 方法,该方法会发送一个 http 请求每个 任务到我的端点。
completeAll: function () {
var that = this;
this.tasks.forEach(function (task) {
task.completed = true;
that.$http.put('/api/tasks/' + task.id, task);
});
},
现在我遇到了问题,当我点击 Complete All 按钮时,紧随其后的是 Clear Completed 按钮,当我刷新网站时,任务不会被删除。但是,当我在按下两个按钮之间给它一些时间时,一切正常,表明 http 请求需要一些时间在服务器端执行。
有没有办法使用队列之类的东西?或者有没有办法发送单个请求,然后在服务器端使用 foreach 循环?你打算如何解决一个问题,你可能有数百个任务要删除。通过 forEach 循环为每个和单个触发删除请求?
假设数据库指示任务是否已完成,我将发送 clear
的请求和 complete
任务的另一个请求。
clearCompleted: function () {
this.$http.put('/api/tasks/clear-completed')
this.tasks = this.tasks.filter(function (task) {
return !task.completed
});
},
completeAll: function () {
this.$http.put('/api/tasks/complete-all')
this.tasks.forEach(function (task) {
task.completed = true
});
}
希望对您有所帮助!