请求取消
在某些场景下(比如用户频繁切换页面、输入框防抖搜索),你可能需要取消正在进行中、尚未返回结果的网络请求。 SDK 完全兼容现代浏览器的 AbortSignal 标准协议。
你可以在任何接口的第二个参数(即 options 参数)中传入一个 signal:
typescript
import { createLoongshipDataApi } from 'loongship-data';
const client = createLoongshipDataApi({ key: 'YOUR_KEY' });
const controller = new AbortController();
// 1. 发起请求,并将 controller.signal 传入 options
client.ship.search({ kw: 'COSCO' }, { signal: controller.signal })
.then(data => {
console.log('数据返回:', data);
})
.catch(error => {
if (error.name === 'CanceledError') {
console.log('请求已被手动取消');
} else {
console.error('其他错误:', error);
}
});
// 2. 当用户离开页面,或者你想中止请求时,调用 abort
// 此时上面的 Promise 会直接被 reject 一个 CanceledError
controller.abort();