Dropbox数据存储api - javascript
有没有办法为每个表设置不同的侦听器?
这样的事情:
favoritesTable = datastore.getTable('favorites');
trackTable = datastore.getTable('track');
favoritesTable.recordsChanged.addListener(syncFavorites);
trackTable.recordsChanged.addListener(syncTrack);
或者有没有办法指定哪个表已更改?
答案 0 :(得分:4)
感谢您使用datastore-api标记!
API不允许您这样做。这有点故意,因为我们要强调的是sync()(无论是显式的,如Android / iOS,还是隐式的,如JS)总是更新整个数据存储。 (实际上,您可以将其视为交易。)
如果您只对特定的表感兴趣,那么在您的应用程序中引入一个调用update.affectedRecordsForTable('favorites')
的辅助函数并且如果结果非空则仅调用“真实”回调就很容易了。或者你可以拥有一个你为每条记录调用的函数 - 那么你甚至不需要“if”,只是对结果的循环。