Skip to content

XAgent.request的类型与XRequest.create的类型不兼容 #690

@hmj-0v0

Description

@hmj-0v0

重现步骤

以下代码会有ts类型问题

  const [agent] = useXAgent<string>({
    request: XRequest({
      baseURL: '',
    }).create,
  });

阅读源码后发现,XAgent.request的类型是:

export type RequestFn<Message> = (
  info: RequestFnInfo<Message>,
  callbacks: {
    onUpdate: (message: Message) => void;
    onSuccess: (message: Message) => void;
    onError: (error: Error) => void;
  },
) => void;

而XRequest.create callback的类型是:

export interface XRequestCallbacks<Output> {
  /**
   * @description Callback when the request is successful
   */
  onSuccess: (chunks: Output[]) => void;

  /**
   * @description Callback when the request fails
   */
  onError: (error: Error) => void;

  /**
   * @description Callback when the request is updated
   */
  onUpdate: (chunk: Output) => void;
}

无法兼容,导致实际上不能对XRequest进行封装后再传给XAgent

当前行为

XAgent.request的类型与XRequest.create的类型不兼容

预期行为

XAgent.request的类型与XRequest.create的类型可以兼容

上下文

No response

版本

1.1.0

您在哪些浏览器上遇到了这个问题?

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions