PNP SP を使用して、リスト アイテムとその添付ファイルを照会しています。現在の関数の正確で簡略化されたバージョンを作成するにはどうすればよいですか?
以下の関数は機能します。最初のクエリから結果を取得し、ID、TITLE、LINK を取得します。しかし、2 番目のクエリ Title、Link.URL、FileName、ServerRelativeUR から結果が得られません。ただし、コードをデバッグすると、2 番目のクエリが実行されて値が返されるのがわかりますが、関数は 2 番目のクエリを完了する前に終了します。この関数が両方を正しくクエリして呼び出し元に返すようにするにはどうすればよいですか?
private GetCompleteData() : Promise<any>
{
let result : string = "";
return sp.web.lists.getByTitle('LIST').items.select('Id, Title, Link').get().then( response => {
response.forEach( item => {
let attachments = sp.web.lists.getByTitle('LIST').items.getById(item.Id);
attachments.attachmentFiles.select('FileName, ServerRelativeUrl').get().then( responseAttachments => {
responseAttachments.forEach( attachmentItem => {
result += item.Title + "<br/>" +
item.Link.Url + "<br/>" +
attachmentItem.FileName + "<br/>" +
attachmentItem.ServerRelativeUrl + "<br/><br/>";
});
});
});
return result;
});
}