Async Await Promises Typescript 未定义

Async Await Promises Typescript Gets Undefined

所以我有这样的功能

/** @ts-ignore eslint-disable */
declare var require: any
import generateString from "./Strings/GenerateString";
var txtomp3 = require("text-to-mp3");
const fs = require("fs");

export default async function newCaptcha(length: any) {
    let captcha = generateString();
    let binary: AudioBuffer;
    let err;
    txtomp3.getMp3(captcha, async(err: any, binaryStream: any) => {
        binary = binaryStream
    })
    return new Promise((resolve, reject) => {
        resolve(binary)
    })
}

我尝试记录 binaryStream 和验证码,但它们未定义,而当我调用该函数时,

newCaptcha({ length: 1 }).then(binaryStream => {
    console.log(binaryStream)
}).catch(e => {
    console.error(e)
})

它returns未定义

将 getMp3 包装在 promise 中似乎有效

/** @ts-ignore eslint-disable */
declare var require: any
import generateString from "./Strings/GenerateString";
var txtomp3 = require("text-to-mp3");
const fs = require("fs");

export default async function newCaptcha(length: any) {
    let captcha = generateString();
    let binary: AudioBuffer;
    let err;
    return new Promise<AudioBuffer>((resolve, reject) => {
        txtomp3.getMp3(captcha, function(err: any, binaryStream: AudioBuffer) {
            resolve(binaryStream);
        })
    })
}