菜单
开源

batch( requests )

将多个HTTP请求批量处理,以便通过多个TCP连接并行发出。

参数类型描述
requestsarray一个包含请求的数组,可以是字符串或对象形式
params (可选)object批量处理中所有请求的附加参数

返回值

类型描述
array一个包含 Response 对象的数组。

示例

JavaScript
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);
    });
  });
}