我想计算应用程序处于脱机状态时创建的票证的持续时间,并显示一条敬酒消息以在脱机模式本身下在24小时内同步数据。
static getDerivedStateFromProps(props, state) {
if (!props.isOnline && !props.isInternetReachable) {
let curr_time = moment().format();
let offlineTicketCreatedTime = state.offlineNewTicketList.length > 0
? moment(state.offlineNewTicketList[0].Created).format()
: 0;
let difference = parseFloat(
moment
.duration(
moment.utc(curr_time).diff(moment(offlineTicketCreatedTime))
)
.asSeconds()
);
if (difference > 1400) {
alert("Sync now!!!");
}
}
return null; }
但是此操作仅一次。我想在后台计算时间,即使我处于离线模式的其他屏幕中也是如此。我想将此计算作为计时器运行。而当时间为23小时50分钟时,则需要显示吐司。
查看此问题How can I run background tasks in React Native?的以后的答案
react-native-background-timer(或类似的东西)听起来像需要的东西。
[此外,可能还希望将开始时间存储在AsyncStorage中,以便在应用程序被终止并重新启动后,可以将其用于重新启动计时器。