我有下面的调用,它接受一个令牌并进行API调用并返回另一个令牌
export default (token, id) => {
if (map[id]) {
return Promise.resolve(map[id]?.token);
}
axios
.post(
`https://**********`,
{ id },
{
headers: {
Authorization: `Bearer ${token}`
}
}
)
.then(response => {
const { token } = response;
map[id] = {
...response,
};
return token;
});
};这是我第一次使用5-10个API调用这个方法,这使得单个令牌API调用,因为在第一次映射中没有设置任何设置。因此,在设置映射之前进行单独的令牌调用。我希望减少令牌API调用的数量,即让所有API调用等待到第一个令牌API调用得到响应并在映射中设置它。
发布于 2021-02-22 16:52:28
将承诺存储在地图中:
if(!map[id])
map[id] = axios.post(/*...*/).then(/*...*/);
return map[id];https://stackoverflow.com/questions/66319356
复制相似问题