1

こんにちは、jsに反応するのは初めてです。getItem関数を呼び出して、応答を配列にプッシュし、その配列を返しますが、戻る前に空の配列を取得しています

  private _LoadExpenses() {
    const items: IExpense[] = [];
    this._expensesDataProvider.getItems().then((expenses: IExpense[]) => {
        expenses.forEach(element => {
          items.push({SGDDAppDate:element.SGDDAppDate,ExpenseCategory:element.ExpenseCategory,ExpenseType1:element.ExpenseType1});
       });
        return expenses;
    });
    //console.log(items)
    return items;
  }
4

2 に答える 2

0

私のサンプル非同期関数コード:

private async _getListData(): Promise<IReactItem[]> {
  return pnp.sp.web.lists.getByTitle("TestList").items.select("Id,Title,Description,User/ID,User/EMail").expand("User").get().then((response:IReactItem[]) => {
    return response;
  });
}

関数を呼び出します。

this._getListData().then(items=>{
    console.log(items);
  });

あなたのコードのために。

試す:

private _LoadExpenses(): Promise<IExpense[]> {  
  return this._expensesDataProvider.getItems().then((expenses: IExpense[]) => {      
      return expenses;
  });  
}
于 2019-12-11T09:13:20.913 に答える