我想在angularjs中实现一个后台进程,它检查sqlite数据库表中的数据是否存储了数据。
如果是这样,它应该发送数据(我已经实现了发送功能)从表中删除数据,然后再次检查表中是否有更多数据。
如果表中没有数据存储,它应该再次触发30秒的延迟,以检查是否存储了一些数据。
如果在延迟30秒内插入数据,则不应等待剩余的30秒,只是再次开始处理数据。
我自己尝试了但是我无法得到像这里更好的解决方案(在我看来这不是一个好的解决方案,因为它总是在30秒内触发功能):
$interval(function() {
var promise1 = DbService.getOutbox();
$q.all([promise1]).then(function (res) {
if(res[0].rows.length > 0) {
var promiseSendData = WebService.sendData(data);
$q.all([promiseSendMessage]).then(function (result) {
DbService.removeOutboxEntry(result[0].id);
});
}
});
},30000);
如何实施我的特定工作流程?