我有一个保存功能,它的工作速度非常快,几乎看起来令人难以置信,我想人为地增加所需的时间,如果太快完成它就会感觉到#34;感觉"更好。
目前我有一个用于保存计划的服务,如果它太快,我如何检测并等待N ms?
addScheduleServices.factory('addScheduleAPIservice', function ($http) {
var addScheduleAPI = {};
// this is often too quick
addScheduleAPI.save = function (schedule) {
return $http({
method: 'POST',
data: schedule,
url: '/settings/addschedule'
});
}
return addScheduleAPI;
});
// Use within controller
addScheduleAPIservice.save($scope.schedule)
.success(function () {
//success state
})
.error(function () {
// error state
});
答案 0 :(得分:2)
你可以引入$ q和$ timeout。 $ q允许您等待多个承诺解决。使用此功能,您可以实现最短持续时间:
addScheduleServices.factory('addScheduleAPIservice', function ($http, $q, $timeout) {
var addScheduleAPI = {};
// this is often too quick
addScheduleAPI.save = function (schedule) {
var addSchedule = $http({
method: 'POST',
data: schedule,
url: '/settings/addschedule'
});
var wait = $timeout(function() {
}, 3000, false);
return $q.all([addSchedule, wait]).then(function(p1) {
// success
return p1;
});
}
return addScheduleAPI;
});