如何刷新Odata模型

时间:2016-05-22 10:23:40

标签: odata sapui5

我有一个将数据发送到后端(数据库)的应用程序。

另一个应用程序的UI中,使用ODATA模型消耗数据。

无论何时在数据库中有任何插入/更新,我都希望在UI中自动反映更改,而不必每次都按f5。

我怎样才能做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:1)

不幸的是,OData没有办法将数据从生产者推送到消费者,所以你必须实施一种形式的民意调查。

我同意让用户手动执行此操作并不是件好事。相反,您可以通过指示应用程序读取可能已更改的数据,例如,您可以自动为用户完成此操作。每一秒:

setInterval(function() {
        oModel.read('/EntityChangedByTheOtherApp');
    }, 1000);

或者,您可以使用服务器(例如ABAP推送通道)打开Web套接字,并让服务器在第一个应用程序进行更改时通知您的应用程序。这可以防止您的应用不得不持续刷新未更改的数据。 SCN上有一个很好的博客详细解释了这个技巧:http://scn.sap.com/community/abap/connectivity/blog/2014/06/20/enabling-real-time-bidirectional-client-server-communication-using-abap-push-channel