控制台中未列出的斜杠命令 (discord.js)

问题描述

我最近一直在使用 discord.js 来制作斜杠命令,但是打错了。我没有说 /help,而是说 /hlep。我试图通过使用 console.log(client.api.applications(client.user.id).commands.get()) 找到它的 ID,但它只是在控制台中说 Promise { <pending> },我不知道该怎么做。

解决方法

由于 client.api.applications(client.user.id).commands.get()asynchronous,它返回一个 Promise 而不是一个对象。

来自 MDN:

Promise 是在创建 Promise 时不一定知道的值的代理。它允许您将处理程序与异步操作的最终成功值或失败原因相关联。

挂起的承诺可以用一个值来实现,也可以用一个原因(错误)来拒绝。

要么使用 .then 函数,在 Promise 实现时运行代码:

client.api.applications(client.user.id).commands.get().then((result) => {
    console.log(result);
    // You may also put other code here to be run when it is fulfilled.
});

... 或者像这样在异步函数中使用它:

let result = await client.api.applications(client.user.id).commands.get();
console.log(result);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...