我正在添加我的数据库,但数据库可能正在等待文件完成上传。所以,我的解决方案是尝试添加,如果文件不存在,我的服务器返回404.如果我收到404错误,我等待1秒再试一次。
这是我的想法:
$scope.add() = function() {
db.add(uuid).then(
function(response) {
// Add success!
},
function(error) {
if (error.status === 404) {
$timeout($scope.add, 1000);
}
}
};
这是正确的方法吗?感觉不对,但我不确定。
答案 0 :(得分:0)
这绝对不是正确的方式^^你应该在上传文件后使用回调。
您上传文件并在回调中调用addDb函数
答案 1 :(得分:0)
这实际上是一种合法的方式,除非你在超时的回调中不需要括号。使用:$timeout($scope.add, 1000);
我还会添加一些重试计数器(例如尝试3次并退出),这样你就不会进入无限循环。