batch( requests )
将多个HTTP请求批量处理,以便通过多个TCP连接并行发出。
参数 | 类型 | 描述 |
---|---|---|
requests | array | 一个包含请求的数组,可以是字符串或对象形式 |
params (可选) | object | 批量处理中所有请求的附加参数 |
返回值
类型 | 描述 |
---|---|
array | 一个包含 Response 对象的数组。 |
示例
import { Httpx, Get } from 'https://jslib.k6.io/httpx/0.1.0/index.js';
import { describe } from 'https://jslib.k6.io/expect/0.0.4/index.js';
const session = new Httpx({ baseURL: 'https://quickpizza.grafana.com' });
session.addHeader('Authorization', 'token abcdef0123456789');
export default function () {
describe('01. Fetch public ratings all at once', (t) => {
const responses = session.batch(
[new Get('/api/ratings/1'), new Get('/api/ratings/2'), new Get('/api/ratings/3')],
{
tags: { name: 'PublicRatings' },
}
);
responses.forEach((response) => {
t.expect(response.status)
.as('response status')
.toEqual(200)
.and(response)
.toHaveValidJson()
.and(response.json('stars'))
.as('rating stars')
.toBeGreaterThan(0);
});
});
}