SPHttpClientBatch class

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

SPHttpClientBatch 类累积大量 REST 服务调用,并将其作为单个 ODATA 批处理传输。 此处介绍了此协议: http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-protocol.html

其用法是调用 SPHttpClientBatch.fetch () 将每个单独的请求排队,然后调用 SPHttpClientBatch.execute () 来执行批处理操作。 执行 () 方法返回一个承诺,该承诺将在实际 REST 调用完成时解析。 每次调用提取 () 还会返回一个承诺,该承诺将使用该特定请求的 SPHttpClientResponse 对象解析。

注解

此类的构造函数标记为内部。 第三方代码不应直接调用构造函数或创建扩展类的 SPHttpClientBatch 子类。

属性

configurations

用于 SPHttpClientBatch 类的标准预定义 SPHttpClientBatchConfigurations 对象。

方法

execute()

执行使用 SPHttpClientBatch.fetch () 排队的批处理查询。

fetch(url, configuration, options)

队列新请求,并返回一个承诺,该承诺可用于在执行 () 完成) 后访问服务器响应 (。

get(url, configuration, options)

调用 fetch(),但将方法设置为“GET”。

post(url, configuration, options)

调用 fetch(),但将方法设置为“POST”。

属性详细信息

configurations

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

用于 SPHttpClientBatch 类的标准预定义 SPHttpClientBatchConfigurations 对象。

static readonly configurations: ISPHttpClientBatchConfigurations;

属性值

方法详细信息

execute()

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

执行使用 SPHttpClientBatch.fetch () 排队的批处理查询。

execute(): Promise<SPHttpClientBatch>;

返回

fetch(url, configuration, options)

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

队列新请求,并返回一个承诺,该承诺可用于在执行 () 完成) 后访问服务器响应 (。

fetch(url: string, configuration: SPHttpClientBatchConfiguration, options?: ISPHttpClientBatchOptions): Promise<SPHttpClientResponse>;

参数

url

string

要获取的 URL

configuration
SPHttpClientBatchConfiguration

确定此请求的默认行为;通常,这应该是 SPHttpClientBatchConfigurations 的最新版本号

options
ISPHttpClientBatchOptions

影响请求的其他选项

返回

行为类似于 WHATWG 提取 () 的承诺。 此承诺将解决 httpClientResponse.ok 为 false (,) 错误状态代码(如 HTTP 404 或 500)。 承诺只会拒绝网络故障或其他阻止与服务器通信的错误。

注解

此函数的参数与此处所述的 WHATWG API 标准基本相同:

https://fetch.spec.whatwg.org/

但是,请注意,某些 REST 标头在批处理中将被忽略或不允许。 有关详细信息,请参阅 ODATA 文档。

调用执行 () 时,它将 POST 到 URL,例如“http://example.com/sites/sample/_api/$batch”。 通常,SPHttpClientBatch 可以通过在传递给提取 () 的第一个 URL 中查找保留 URL 段(如“_api”)来成功猜测相应的 SPWeb URL。 如果没有,请使用 ISPHttpClientBatchCreationOptions.webUrl 显式指定它。

get(url, configuration, options)

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

调用 fetch(),但将方法设置为“GET”。

get(url: string, configuration: SPHttpClientBatchConfiguration, options?: ISPHttpClientBatchOptions): Promise<SPHttpClientResponse>;

参数

url

string

要获取的 URL

configuration
SPHttpClientBatchConfiguration

确定此请求的默认行为;通常,这应该是 SPHttpClientBatchConfigurations 的最新版本号

options
ISPHttpClientBatchOptions

影响请求的其他选项

返回

行为类似于 WHATWG 提取 () 的承诺。 此承诺将解决 httpClientResponse.ok 为 false (,) 错误状态代码(如 HTTP 404 或 500)。 承诺只会拒绝网络故障或其他阻止与服务器通信的错误。

post(url, configuration, options)

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

调用 fetch(),但将方法设置为“POST”。

post(url: string, configuration: SPHttpClientBatchConfiguration, options: ISPHttpClientBatchOptions): Promise<SPHttpClientResponse>;

参数

url

string

要获取的 URL

configuration
SPHttpClientBatchConfiguration

确定此请求的默认行为;通常,这应该是 SPHttpClientBatchConfigurations 的最新版本号

options
ISPHttpClientBatchOptions

影响请求的其他选项

返回

行为类似于 WHATWG 提取 () 的承诺。 此承诺将解决 httpClientResponse.ok 为 false (,) 错误状态代码(如 HTTP 404 或 500)。 承诺只会拒绝网络故障或其他阻止与服务器通信的错误。