const getUser = (userName) => {
const controller = new AbortController();
const { signal } = controller;
{...some fetch code to a url and assign to promise variable }
return [
promise,
controller.abort.bind(controller),
];
};
const userOne = getUser('userone');
const userTwo = getUser('usertwo');
当我对其中一个调用 abort 时,userOne 和 userTwo 是否会以某种方式相互干扰,因为它们都使用相同的控制器 (AbortController())?
答案 0 :(得分:2)
您没有说明信号是如何准确传递到 fetch
的,但这实际上应该没有太大关系:每次调用 getUser
函数时,都会有一个 AbortController
的新实例被建造。这意味着 fetch
请求、abort
函数和每次调用 signals
创建的 getUser
都是独立的。