javascript - 我的函数返回“[object Promise]”作为结果(超时后)。但是使用该功能时,控制台已经在记录结果(steamID)JS
问题描述
我在没有超时的情况下尝试了它,没有将 steamID 转换为字符串(两者都是“无法发送空消息”)。但是我已经有30分钟没有进一步了。
(vanityURL = 输入)
我的功能(API 完全正常工作):
const fetch = require("node-fetch");
const botconfig = require("../botconfig.json")
async function getSteamID(vanityURL) {
const response = await fetch(`https://api.steampowered.com/ISteamUser/ResolveVanityURL/v1/?key=${botconfig.steamapikey}&vanityurl=${vanityURL}`);
const data = await response.json();
const listDataRaw = JSON.stringify(data);
const listData = listDataRaw.toString();
var steamID = listData.replace(/{"response":{"steamid":"|","success":1}}/g, "") // Filter
console.log(steamID)
return steamID;
}
module.exports = { getSteamID }
我的测试命令:
const getSteamInfo = require('../functions/getSteamInfo');
module.exports.run = async (bot, message, args) => {
var vanityURL = args.join(' ')
const rawSteamID = getSteamInfo.getSteamID(vanityURL);
await new Promise(r => setTimeout(r, 1000));
let steamID = rawSteamID.toString();
message.channel.send(steamID)
};
module.exports.command = {
name: `test`
}
感谢帮助!
解决方案
只需输入 "await" const rawSteamID = await getSteamInfo.getSteamID(vanityURL);
并看到它正在工作
推荐阅读
- javascript - 使用 await 关键字后 React Jest 测试失败
- java - 不知道从哪里开始使用 JavaFX 扫雷 GUI
- ruby - 如何使用 jmeter gui 运行 .rb 脚本
- android - Android 应用程序在 Android Studio 中运行良好,但当我从 Play 商店下载时崩溃
- python - 如何为 Python3 安装 scikit-learn?
- python - 创建不同的数字乘法
- javascript - 在 React 中切换路由后的空引用
- cmake - CLion 无法解析我的 std lib 标头符号
- xamarin - 处置 Device.StartTimer,如果当前页面是从主页重新初始化的
- mysql - 傻瓜的 MySQL 数据库连接问题 - MAMP Pro