Ata*_*adi 4 javascript reactjs react-router react-native
我实际上不知道,如何命名这个问题!
我有一个反应原生的JS文件,它从服务器获取数据并将其与本地数据库进行比较.我需要这个同时运行,我怎么能实现这一目标?当应用程序启动时,应该运行,更改视图(导航到其他组件)不应该销毁它,它应该仍在运行.
有解决方案吗
Ahm*_*dad 10
您正在解释一种叫做Singleton的设计模式.
这是怎么做的:
let instance = null;
class Singleton{
constructor() {
if(!instance){
instance = this;
}
// to test whether we have singleton or not
this.time = new Date()
return instance;
}
}
Run Code Online (Sandbox Code Playgroud)
测试单例在上面的类中,我们定义了一个时间属性,以确保我们有单例正常工作.
let singleton = new Singleton()
console.log(singleton.time);
setTimeout(function(){
let singleton = new Singleton();
console.log(singleton.time);
},4000);
Run Code Online (Sandbox Code Playgroud)
如果它为两个实例打印相同的时间,则意味着我们有一个有效的单例.
现在,您可以在单例内异步加载服务器数据,并执行您想要执行的任何操作.无论何时尝试访问单例类,它都将是同一个实例,并且不会多次实例化.换句话说,它不会被销毁.
资料来源:http://amanvirk.me/singleton-classes-in-es6/
| 归档时间: |
|
| 查看次数: |
2757 次 |
| 最近记录: |