나는이 질문에 이름을 짓는 방법을 실제로 모른다.네이티브 : 항상 실행중인 구성 요소
저는 서버에서 가져온 데이터를 가져 와서 로컬 데이터베이스와 비교하는 반응 원시 파일 인 JS 파일을 가지고 있습니다. 나는 이것을 동시에 실행할 필요가있다. 어떻게 성취 할 수 있는가? 앱이 시작될 때 실행되어야하며 뷰 변경 (다른 구성 요소에 대한 탐색)으로 인해 뷰가 변경되지 않아야 계속 실행됩니다.
모든 솔루션?
나는이 질문에 이름을 짓는 방법을 실제로 모른다.네이티브 : 항상 실행중인 구성 요소
저는 서버에서 가져온 데이터를 가져 와서 로컬 데이터베이스와 비교하는 반응 원시 파일 인 JS 파일을 가지고 있습니다. 나는 이것을 동시에 실행할 필요가있다. 어떻게 성취 할 수 있는가? 앱이 시작될 때 실행되어야하며 뷰 변경 (다른 구성 요소에 대한 탐색)으로 인해 뷰가 변경되지 않아야 계속 실행됩니다.
모든 솔루션?
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;
}
}
테스트 싱글 을 우리가 제대로 작동 싱글이 있는지 확인하기 위해 시간 속성을 정의했습니다.
let singleton = new Singleton()
console.log(singleton.time);
setTimeout(function(){
let singleton = new Singleton();
console.log(singleton.time);
},4000);
두 인스턴스에 대해 동일한 시간이 인쇄되면 작동하는 싱글 톤을 의미합니다.
이제 싱글 톤 내에서 서버 데이터를 비동기 적으로로드하고 원하는 작업을 수행 할 수 있습니다. 싱글 톤 클래스에 액세스하려고 할 때마다 항상 동일한 인스턴스가되고 두 번 이상 인스턴스화되지 않습니다. 즉, 파괴되지 않습니다.
솔직히 나는 당신의 요점을 알지 못했습니다. https://github.com/devfd/react-native-workers를 찾았습니다. 내가 찾고있는 것이 맞는지 확실하지 않습니다. Btw, 대답 해줘서 고마워. – Ataomega
내가 이해하는 한, 당신은 클래스의 단일 인스턴스를 가지기를 원했고, 당신은이 인스턴스가 앱의 전체 라이프 사이클 동안 유지되기를 원한다. 이 것을 싱글 톤이라고합니다. 이 클래스 내부의 모든 속성은 인스턴스를 다시 인스턴스화하더라도 관계없이 유지됩니다. 귀하의 경우, 서버 데이터를 싱글 톤 클래스 내에서 비동기 적으로로드 할 것이며, 계속 유지 될 것입니다. –
@Ataomega BTW, 작업자는 CPU를 많이 사용하는 백그라운드 작업을 수행합니다. 작업자는 기본 앱과 다른 스레드에서 실행되므로 앱을 잠그지 않습니다. 나는 그것이 적절한 해결책이라고 생각하지 않지만, 효과가있을 수 있습니다. –