我必须在点击按钮时实现离线和在线功能。
请帮助我如何实现此功能。
答案 0 :(得分:0)
DIY版:
首先,您需要在服务中加一个开关。如果它处于本地模式,则在客户端缓存或存储所有数据。最好在数据中有一个标志,用于判断数据是否已同步到服务器。如果它处于服务器模式下,请执行将所有数据推送到服务器端所需的任何操作。
其次,您需要在后台使用监视器服务,或者在启用服务器模式时,同步操作将被踢一次。操作或后台进程将检查任何未同步的数据并将其推送到服务器。完成后,将其标记为已同步。
这是一般的想法。
我的想法代码实现这一目标。创建父服务类:
class BaseService {
protected execute(online: any, offline: any){
if (this.config.mode == 'online')
online();
else
offline();
}
}
在实际的儿童服务中
... extends BaseService {
saveEmployee() {
this.execute(() => {
// do online stuff
}, () => {
// do offline stuff
});
}
}