#node.js #discord.js
Вопрос:
Я не знаю, почему у меня возникает эта проблема, у меня уже включена асинхронность
вот код
const fetch = require("node-fetch")
module.exports = {
name: "find",
aliases: ["f"],
run: async (message) => {
message.attachments.forEach((attachment) => {
const url = attachment.url;
console.log(url);
const res1 = await fetch(
`https://saucenao.com/search.php?db=999amp;output_type=2amp;testmode=1amp;numres=16amp;url=${url}`
);
const data1 = await res1.json();
console.log(data1);
});
},
};
Комментарии:
1. Вы находитесь во вложенной области, которая также должна быть асинхронной.
.forEach(async attatchment =>
2. Обратный вызов, который вы даете
.forEach
, не являетсяasync
Ответ №1:
Попробуй это
module.exports = {
name: "find",
aliases: ["f"],
run: async (message) => {
message.attachments.forEach(async (attachment) => {
const url = attachment.url;
console.log(url);
const res1 = await fetch(
`https://saucenao.com/search.php?db=999amp;output_type=2amp;testmode=1amp;numres=16amp;url=${url}`
);
const data1 = await res1.json();
console.log(data1);
});
},
};
асинхронность должна быть записана в функции, имеющей метод await.
В вашем коде ожидание записывается в функции forEach, а не во время выполнения.
Комментарии:
1. Вы должны указать, почему это сработало и что вы изменили
2. спасибо , проблема с ожиданием устранена, но появилась еще одна проблема, и я понятия не имею об этом . это ошибка типа: Не удается прочитать свойство «forEach» неопределенного
3. проверьте, получаете ли вы message.attachments в виде массива или не используете отладку. И если проблема асинхронности решена, пожалуйста, примите решение и не забудьте озвучить ответ.спасибо.