欢呼男孩和女孩。
从 SPFx 到 SP 的 $batching 请求存在一些问题。
一些背景知识:SP 结构有一个包含许多子网站的网站集。每个子站点都有一个列表,其名称在所有子站点上都相同。我需要访问所有这些列表。
一个普通的 SPHttpClient 调用给了我所有站点的 url。到目前为止,一切都很好。
然后计划是对调用进行 $batch 以从列表中获取数据。不幸的是,我只能从其中一个电话中得到答案。其余的批处理调用给了我“InvalidClientQueryException”。如果我更改调用的顺序,似乎只有第一个调用成功。
const spBatchCreationOptions: ISPHttpClientBatchCreationOptions = {
webUrl: absoluteUrl
};
const spBatch: SPHttpClientBatch = spHttpClient.beginBatch(spBatchCreationOptions);
// Add three calls to the batch
const dan1 = spBatch.get("<endpoint1>",SPHttpClientBatch.configurations.v1);
const dan2 = spBatch.get("<endpoint2>",SPHttpClientBatch.configurations.v1);
const dan3 = spBatch.get("<endpoint3>",SPHttpClientBatch.configurations.v1);
// Execute the batch
spBatch.execute().then(() => {
dan1.then((res1) => {
return res1.json().then((res10) => {
console.log(res10);
});
});
dan2.then((res2) => {
return res2.json().then((res20) => {
console.log(res20);
});
});
dan3.then((res3) => {
return res3.json().then((res30) => {
console.log(res30);
});
});
});
所以在这种情况下,只有调用 dan1 成功。但是,如果我将 call2 更改为与第一个调用具有相同的端点,它们都会成功。
我无法真正解决这个问题,所以如果有人有任何意见,将不胜感激。//担