尝试从类中的另一个方法调用方法,得到 TypeError

问题描述

所以,我在这里有两种方法可以在 Trello 板上添加/更新卡片。它们都在一个类中声明,updateWatchlistCard 在第二个方法 addWatchlistCard 之前声明。当我在 addWatchlistCard 中调用 updateWatchlistCard 时,我的代码出现以下错误:TypeError: undefined is not a function。

我不确定这里到底有什么问题或为什么这样做。我试过重新排列代码,重写函数,但都没有奏效。

async updateWatchlistCard([cardData],card){

       console.log('fired updatewatchlistcard');
       //* Attempt to grab user data.
       try{
           var userId = await noblox.getIdFromUsername(cardData.Username);
           var properUsername = await noblox.getUsernameFromId(userId);
       }catch(error){
           return false;
       }

       //* Adds the check to the card.
       await Trello.addCommentToCard(card.id,`**Moderator:** ${cardData.ModeratorName}:${cardData.ModeratorId}` +
          `\n**Suspicion:** ${cardData.Suspiscion}` +
          `\n**Evidence:** ${cardData.Evidence}` + 
          `\n**Comments:** ${cardData.Comments}`
       );

       return {value: '**Card updated successfully!**',cardName: card.name,cardUrl: card.url};
   }```

  ``` async addWatchlistCard([cardData]){

       // First search and see if the card already exists.
       var cardExists = await this.getModerationCard(cardData.Username,cardData.WatchlistId,cardData.BoardId);

       if(!cardExists){   
           //Tries getting new data for the card.
           try{
               var userId = await noblox.getIdFromUsername(cardData.Username);
               var properUsername = await noblox.getUsernameFromId(Number(userId));
           }catch(error){
               return false;
           }
           // Data for card fields.
           var cardTitle = (`${properUsername}:${userId}`);
           var cardDesc = (`Moderator: ${cardData.ModeratorName}:${cardData.ModeratorId}` + `\nSUSPECTed of: ${cardData.Suspicion}` + `\nEvidence: ${cardData.Evidence}` + `\nComments: ${cardData.Comments}`);

           // Create the new card.
           var newCard = await Trello.addCard(cardTitle,cardDesc,cardData.WatchlistId);

           return {value: '**Card created successfully**',cardName: newCard.name,cardUrl: newCard.url};

       }else{
           console.log('got here.');
           let response = this.updateWatchlistCard(cardData,cardExists);
           return response;
       }
   } ```

解决方法

更新:我发现这与我在 updateWatchlistCard 方法中编写参数的方式有关。谢谢!