كيف تنتظر تحميل 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'];
   });

ثم أقوم باستدعاء واجهة برمجة التطبيقات (API) في 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 بعد الحصول على البيانات من API

ما حاولت:

غير قادر على فهم المفهوم

الحل 1

أقدر أن هذا سؤال قديم ولكن الأمر يستحق معالجة سبب وجود مشكلة هنا. ذكر الملصق أنهم يريدون الانتظار حتى يتم إرجاع البيانات من واجهة برمجة التطبيقات ثم تحميل HTML لصفحة معينة. من الناحية الفنية، قد تعتقد أن هذا ممكن من خلال جعل المكالمة لاسترداد البيانات بمثابة مكالمة متزامنة للحظر، ولكن هذا غير ممكن في تطبيق JavaScript نظرًا لكونه نظامًا أحادي الترابط. يعد استدعاء واجهة برمجة التطبيقات (API) بمثابة وعد بالحصول على البيانات من الخادم في استجابة، والتي يمكن بعد ذلك التصرف بناءً عليها.

والآن بعد أن علمنا أن الصفحة غير متزامنة، كيف نخفي محتوى الصفحة حتى يتم إرجاع البيانات. تتمثل الآلية النموذجية في استخدام متغير محمّل، والذي يتم ضبطه على “صحيح” فقط عند إرجاع البيانات. ثم استخدم ngIf ببساطة لعرض البيانات عندما يكون تحميلها صحيحًا.

コメント

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