菜单
文档面包屑箭头 Grafana k6面包屑箭头 JavaScript API面包屑箭头 k6/ws面包屑箭头 Socket面包屑箭头 Socket.setInterval(callback, interval)
开源

Socket.setInterval(callback, interval)

注意

存在一个更好且标准的模块 API。

新的 k6/experimental/websockets API 部分实现了 WebSockets API 规范

如果可能,建议使用新的 API。它使用全局事件循环,与其他 k6 API 保持一致,并提供更好的性能。

在 WebSocket 连接打开期间,重复调用一个函数。

参数类型描述
callback函数每隔 interval 毫秒调用的函数。
interval数字callback 两次调用之间的毫秒数。

示例

JavaScript
import ws from 'k6/ws';
import { check } from 'k6';

export default function () {
  const url = 'ws://echo.websocket.org';
  const params = { tags: { my_tag: 'hello' } };

  const res = ws.connect(url, params, function (socket) {
    socket.on('open', function open() {
      console.log('connected');

      socket.setInterval(function timeout() {
        socket.ping();
        console.log('Pinging every 1sec (setInterval test)');
      }, 1000);
    });

    socket.on('pong', function () {
      console.log('PONG!');
    });
  });

  check(res, { 'status is 101': (r) => r && r.status === 101 });
}