Я немного кодирую как побочный проект, собирая воедино биты, которые написали другие люди (это для простого бота разногласий). Я хочу разделить свой код, чтобы было легче решать проблемы и читать, однако всякий раз, когда я пытаюсь использовать код, появляется сообщение об ошибке «SyntaxError: await действителен только в асинхронной функции».
IЯ пытался предположительно загрузить код асинхронно, загрузить его с помощью require (), а затем сделать одну команду асинхронной, делая весь код в файле асинхронным (это не просто одна команда, которую я хочу загрузить, а целый файл. Также я ')я не уверен, правильно ли я это сделал или нет), используя npm async-require и, возможно, некоторые другие, которые были в интернете.
//one of the solutions I've tried. This is just copy pasted from the
//answer
//file2.js
var fs = require('fs');
module.exports = function (callback) {
fs.readFile('/etc/passwd', function (err, data) {
callback(err, data);
});
};
//file1.js
require('./passwords')(function (err, passwords) {
// This code runs once the passwords have been loaded.
});
В первом файле перед тем, как я его разделил, язапустил его с client.on('message', async message => {
, и это позволило мне использовать функцию await
в каждой команде. Я все еще хочу сделать это, но просто сделайте его немного аккуратнее и проще, разделив его.
Я пытаюсь сделать это, чтобы перейти к другому вопросу, который я задал. и поставьте галочку на одном из ответов. Любая помощь будет принята с благодарностью <3 </p>