Dropbox Datastore - recordsChanged个别表的监听器?

时间:2013-07-15 02:21:23

标签: javascript dropbox dropbox-api datastore

Dropbox数据存储api - javascript

有没有办法为每个表设置不同的侦听器?

这样的事情:

favoritesTable = datastore.getTable('favorites');
trackTable = datastore.getTable('track');
favoritesTable.recordsChanged.addListener(syncFavorites);
trackTable.recordsChanged.addListener(syncTrack);

或者有没有办法指定哪个表已更改?

1 个答案:

答案 0 :(得分:4)

感谢您使用datastore-api标记!

API不允许您这样做。这有点故意,因为我们要强调的是sync()(无论是显式的,如Android / iOS,还是隐式的,如JS)总是更新整个数据存储。 (实际上,您可以将其视为交易。)

如果您只对特定的表感兴趣,那么在您的应用程序中引入一个调用update.affectedRecordsForTable('favorites')的辅助函数并且如果结果非空则仅调用“真实”回调就很容易了。或者你可以拥有一个你为每条记录调用的函数 - 那么你甚至不需要“if”,只是对结果的循环。