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);
})
})
}
所以我有这样的功能
/** @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);
})
})
}