2

Dropbox 数据存储 api - javascript

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

像这样的东西:

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

或者有没有办法指定哪个表发生了变化?

4

1 回答 1

4

感谢您使用 datastore-api 标签!

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

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

于 2013-07-15T17:50:22.763 回答