我确信这是我错过的一些基本的东西,但是很晚了,我的大脑就像那样。我有这个函数:
export const createRandomHex = () => {
try {
return crypto.randomBytes(127, (_err, buf) => {
console.log("[create] bearerToken: ", buf.toString("hex"));
const bearerTokenString = buf.toString("hex");
return bearerTokenString;
});
} catch (e) {
return e;
}
};
我在另一个函数中这样调用它:
export const createBearerToken = () => {
const bearerToken = createRandomHex();
}
由于某种原因,createBearerToken中的bearerToken的值未定义或为空。有人能帮我一下吗?
randomBytes
是异步的,接受回调。你可以在函数中返回一个承诺:
export const createRandomHex = async () => {
return new Promise((resolve, reject) => {
try {
return crypto.randomBytes(127, (_err, buf) => {
console.log("[create] bearerToken: ", buf.toString("hex"));
const bearerTokenString = buf.toString("hex");
resolve(bearerTokenString);
});
} catch (e) {
reject(e);
}
});
};