我正在尝试从2个不同的站点检索列表项,并且仅在检索到所有数据后才执行某些操作。我想到要使用.then()和Promises之类的东西。
我正在使用SharePoint Framework,这是用于Modern SharePoint扩展,而不是Webpart。 我尝试使用batching,但它仅适用于单个SharePoint网站。
感谢大家的帮助!
威廉
let web = new Web("https://test.sharepoint.com/test2");
let batch = web.createBatch();
web.lists.inBatch(batch).usingCaching().get().then((r: any) => {
});
web.lists.getByTitle("SharePoint Directory").items.usingCaching().inBatch(batch).top(5000).get().then((r: any) => {
});
batch.execute().then(() => {
console.log("Data retrieved.");
});
答案 0 :(得分:0)
示例测试脚本以调用rest api来访问其他站点。(对站点url进行硬编码,您可以动态构建,用户也需要对其他站点的许可)
this.context.spHttpClient.get(`https://tenant.sharepoint.com/sites/lee/_api/web/lists/getbytitle('MyList2')/items`,
SPHttpClient.configurations.v1,
{
headers: {
'Accept': 'application/json;odata=nometadata',
'Content-type': 'application/json;odata=verbose',
'odata-version': ''
}
})
.then((response: SPHttpClientResponse) => {
response.json().then((data)=>{
console.log(data);
})
});