请注意,我对javascript很不好,这是我第一次真正使它变得太过严肃。
我一直在开发一个discord机器人,该机器人可以替代我所在服务器中的WikiaLinker。我一直在重用WikiaLinker的代码,但是我注意到它使用了已弃用的请求库。我现在尝试使用axios,但是一旦到达代码中的某个点,它就会突然停止而不会给我任何错误。
我曾尝试弄乱我的axios代码,但是在故障排除中,我注意到它可以很好地通过我的axios代码,但稍后会停止工作。相同的代码正在处理请求,因此我不确定为什么它会被axios破坏。
const mps = [''];
const removeCodeblocks = msg.cleanContent.replace(/`{3}[\S\s]*?`{3}/gm, '');
const removeInlineCode = removeCodeblocks.replace(/`[\S\s]*?`/gm, '');
const cleaned = removeInlineCode.replace(/\xFE/g, '');
const name = cleaned.replace(/.*?s\!search([^\]|]+)/g, '$1\xFE');
const allLinks = name.split('\xFE').slice(0, -1);
const unique = new Set(allLinks);
unique.forEach((item) => {
mps.push(reqAPI(item.trim()).catch(console.error));
});
Promise.all(mps)
.then(preparedSend => {
preparedSend = preparedSend.filter(item => item !== undefined);
if (preparedSend.length > 1) {
// do message sending related stuff stuff
}
})
.catch(console.error);
};
reqAPI常量是
axios({
method: 'GET',
url: `https://example.fandom.com/api/v1/Search/List?query=${requestname}&limit=1`,
json: true
});
});
(请注意,真正的链接是针对特定粉丝网站的,而不是example.fandom.com)
它在Promise.All(mps)之后立即停止,但是在运行之前所有的代码都已结束。