簡體   English   中英

獲取 SPFx web 零件的數據? 即使它是 output 到控制台,也沒有數據返回

[英]Getting data for an SPFx web part? No data being returned even though it's being output to the console

我正在為 SharePoint Online 創建一個 SPFx webpart。 我使用此代碼。 它確實將值寫入控制台(組中人員的所有 email 地址),但不會返回“stringToReturn”值以顯示在 web 部分中。

我的 web 零件顯示:會見團隊... undefined

我在做一些根本錯誤的事情嗎?

謝謝P

public async render(): Promise<void> {

    
      this.domElement.innerHTML = `
      <section>
        <div>
          Meet the Team...
        </div>
        
        <div>
        ${await this.getGroupData()}
        </div>
      </section>`;
    }

protected async getGroupData(): Promise<string>
  {
    let stringToReturn:string;


    try
    {
    this.context.msGraphClientFactory.getClient('3')
    .then((client: MSGraphClientV3): void => {
      client.api('groups/<GUID>/members')
      .get((error: any, response: any, rawResponse?: any) => {

          const members: MicrosoftGraph.User[] = response.value;

          for (const memberDetail of members){
            console.log('memberDetail.mail:' + memberDetail.mail);
            stringToReturn = memberDetail.mail + "<br>";
          }

        });
    });

    }catch(e){
      
      stringToReturn = e.message.toString();

    }

您不會退回 Promise。

要么你 go 與異步等待風格

    var client = await this.context.msGraphClientFactory.getClient('3');
    var result = await client.api(...).get();
    //do something with the result here
    return stringToReturn;

或者你可以做類似的事情

return new Promise((resolve) => {
    this.context.msGraphClientFactory.getClient('3')
    .then((client: MSGraphClientV3): void => {
      client.api('groups/<GUID>/members')
      .get((error: any, response: any, rawResponse?: any) => {

          const members: MicrosoftGraph.User[] = response.value;

          for (const memberDetail of members){
            console.log('memberDetail.mail:' + memberDetail.mail);
            stringToReturn = memberDetail.mail + "<br>";
          }
          //when your string is ready return by resolving it
          resolve(stringToReturn);
        });
    });
 });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM