我如何分割我的代码,并使它们保持异步状态?

问题描述 投票:0回答:1

我一直在作为一个侧面项目进行编码,将其他人编写的代码拼凑在一起(这是一个简单的不和谐机器人的代码)。我想拆分我的代码,以使其更易于解决问题和阅读,但是,每当我尝试使用该代码时,都会出现错误,提示“ SyntaxError:await仅在异步函数中有效”。

我应该尝试异步加载代码,使用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

node.js asynchronous
1个回答
0
投票

修复这些等待,使它们不在异步函数中。这是一个词汇问题,只需查看发生错误的位置即可解决。只需查找最接近等待位置的包含函数并将其标记为异步。重复直到错误消失。

© www.soinside.com 2019 - 2024. All rights reserved.