कोणीय में डेटा प्राप्त होने तक HTML लोड की प्रतीक्षा कैसे करें?

प्रोग्रामिंग


मुझे इस तरह के एक अन्य पृष्ठ पर पुनः निर्देशित किया गया है

this.router.navigate(['prob/telecomnewdeal'], { queryParams:{ 'companyId': this.selectedCompnay, 'domainId':this.domainId } });

नये पेज पर

ngOnInit

मुझे इस तरह के पैरामीटर मिल रहे हैं

ngOnInit(): void {
   this.route.queryParams.subscribe(params => {
     this.companyId = +params['companyId'];
     this.domainId = +params['domainId'];
   });

और फिर मैं इस तरह ngOint में एक एपीआई कॉल कर रहा हूं

this.telecomDealService.addNewDeal(this.userEmail, false, this.companyId, this.domainId).subscribe((data: TelecomDealList) => {

       this.dealQuestionsList = data.AssginedTowers[0].Questions;
       let test = this.dealQuestionsList[0].IsHeader
       this.addloadded = true;
       console.log(this.addloadded);
       for (var i = 0; i < data.AssginedTowers[0].Questions.length; i++) {
         if (data.AssginedTowers[0].Questions[i].listAnswerOptions != null) {

           this.drpoption = data.AssginedTowers[0].Questions[i].listAnswerOptions;
           this.dealQuestionsList[i].listAnswerOptions = [];
           for (var j = 0; j < Object.entries(this.drpoption).length; j++) {
             let tempfilter: Item;
             tempfilter = {
               text: Object.entries(this.drpoption)[0][0],
               value: Object.entries(this.drpoption)[0][0]
             };

             this.dealQuestionsList[i].listAnswerOptions.push(tempfilter);
           }

         }
       }


       this.spinner.hide();




       });

लेकिन मेरा HTML मेरे एपीआई से डेटा प्राप्त करने से पहले डेटा लोड करता है

एपीआई से डेटा प्राप्त करने के बाद HTML कैसे लोड करें

मैंने क्या प्रयास किया है:

अवधारणा को समझने में सक्षम नहीं

समाधान 1

मैं इस बात की सराहना करता हूं कि यह एक पुराना प्रश्न है, लेकिन यहां यह समस्या क्यों है, इस पर विचार करना उचित है। पोस्टर में कहा गया है कि वे एपीआई से डेटा वापस आने तक इंतजार करना चाहते हैं और फिर किसी विशेष पेज का HTML लोड करना चाहते हैं। तकनीकी रूप से आप सोचेंगे कि डेटा को पुनः प्राप्त करने के लिए कॉल को ब्लॉकिंग सिंक्रोनस कॉल बनाकर यह संभव है, लेकिन एकल थ्रेडेड सिस्टम होने के कारण जावास्क्रिप्ट एप्लिकेशन में यह संभव नहीं है। एपीआई कॉल, प्रभावी रूप से, एक प्रतिक्रिया में सर्वर से डेटा प्राप्त करने का एक वादा है, जिस पर बाद में कार्रवाई की जा सकती है।

तो, अब जब हम जानते हैं कि पृष्ठ अतुल्यकालिक है, तो डेटा वापस आने तक हम पृष्ठ पर सामग्री को कैसे छिपा सकते हैं। एक विशिष्ट तंत्र एक लोडेड वेरिएबल का उपयोग करना है, जो डेटा वापस आने पर ही सत्य पर सेट हो जाता है। फिर, लोड होने पर डेटा प्रदर्शित करने के लिए बस ngIf का उपयोग करें।

コメント

タイトルとURLをコピーしました