Node.js // 我想要一个函数等待一个变量直到它运行

Node.js // I want a function to wait for a variable until it runs

我正在开发一个允许用户在地图中存储数据的 Discord Bot。目前我已经达到能够正确发送我想要的数据的地步,但是发送那个确切的数据集是硬编码的,这不是我想要的。

Hard Coded data sent

我希望用户能够键入命令,然后让机器人处理它需要处理的数据集。处理逻辑如下。

function arrayproccesor() {
  const cmd = require("./bot-logic");

  let msg = "";

  for (let [x, y] of a.get(cmd)) {
    msg += x + ":" + y + "\n";
  }
  module.exports = msg;
}

正如您在上面看到的那样,我尝试从命令逻辑中导入一个变量,我希望它能为我获取我想要的地图索引。下面的命令逻辑。

command(client, "udft", (message) => {
    const embed = new Discord.MessageEmbed()

      .setColor("#fabe07")
      .setImage(
        "https://i.pinimg.com/originals/d8/28/f1/d828f1f1a67ac7d03195a9964fb16f94.jpg"
      )
      .setTimestamp()
      .setURL("https://undefeated.com/account/login")

      .addFields({
        name: "ACCOUNTS:",
        value: msg,
        inline: true,
      })
      .addFields({
        name: "STORE:",
        value: "Undefeated \n \n **LINK:**\n",
        inline: true,
      });

    message.channel.send(embed);
  });

我尝试在用户键入命令 !udft 后定义 cmd 变量并将所述变量导出到 arrayprocessor 函数,但它并没有完全按照这种方式工作,我认为该函数没有处理任何内容因此使其发送 [object对象]

object object

完整代码:Array Proccesor Command Logic

我也知道我可以将数组及其函数与命令逻辑放在同一个文件中,但我想进一步处理从一个文件到另一个文件的导出变量。

无论如何,感谢所有帮助,如果我把它做的比需要的更长,我很抱歉!

Async/Await 是一种以提升方式处理 Promise 的有用方法。 请阅读文档并实施“异步/等待”。 这是 link:Click