Javascript 如何使用nativescript listview实时加载数据?
我正在用nativescript listview构建一个聊天应用程序,它功能齐全,只是聊天不是实时加载的 它应该能够每秒刷新更多数据,并相应地更新listview 我认为setInterval()应该在这种情况下可用,但我不知道如何在代码中使用它 Viewmodel.jsJavascript 如何使用nativescript listview实时加载数据?,javascript,json,nativescript,Javascript,Json,Nativescript,我正在用nativescript listview构建一个聊天应用程序,它功能齐全,只是聊天不是实时加载的 它应该能够每秒刷新更多数据,并相应地更新listview 我认为setInterval()应该在这种情况下可用,但我不知道如何在代码中使用它 Viewmodel.js _sourceDataItems: new ObservableArray(), dataItems: new ObservableArray(), initDataItems: function () {
_sourceDataItems: new ObservableArray(),
dataItems: new ObservableArray(),
initDataItems: function () {
var id = appSettings.getString("chatid");
var url="http://mvmarket.xyz/backend/designs/getmessages.php?chatid=" + encodeURIComponent(id);
fetch(url).then((response) => response.json()).then((res) => {
this._sourceDataItems = res.items;
this.addMoreItemsFromSource(50);
}).catch((err) => {
});
},
addMoreItemsFromSource: function (chunkSize) {
console.log(this._sourceDataItems);
let newItems = this._sourceDataItems.splice(0, chunkSize);
this.dataItems.push(newItems);
},
onLoadMoreItemsRequested: function (args) {
console.log("---load more item---");
const that = new WeakRef(this);
const listView = args.object;
if (this._sourceDataItems.length > 0) {
setTimeout(function () {
that.get().addMoreItemsFromSource(50);
listView.notifyLoadOnDemandFinished();
}, 1500);
args.returnValue = true;
} else {
//args.returnValue = false;
//listView.loadOnDemandMode = ListViewLoadOnDemandMode.None;
listView.notifyLoadOnDemandFinished();
}
},
我将感谢你对我如何实现这一目标的建议