只是想知道这是否可行(我想不是因为我从未见过在任何地方做过),以及是否有人对为什么不这样做有很好的解释。
const expiry = new Date(await getTokenExpiry() * 1000)
或者我是否必须这样做:
const expiry = await getTokenExpiry()
const muhExpiry = new Date(expiry * 1000)
感谢您阅读我的问题。
答案 0 :(得分:3)
是的,可以这样做-毕竟,在需要使用参数之前,必须在参数的外部表达式之前对参数进行求值,该参数与await
并存。例如:
const multiplyBy4 = num => num * 4;
const resolveWithOne = () => new Promise(res => setTimeout(res, 500, 1));
(async () => {
console.log('start');
const result = multiplyBy4(await resolveWithOne());
console.log(result);
})();
也就是说,除非表达式非常简单,否则如果将每个await
放在自己的行上,代码的可读性可能会更高。