【发布时间】:2018-03-14 08:32:53
【问题描述】:
在我的情况下,我能够获得令牌,但不是我想要的方式,即我不想打印未决的承诺,我在 tokenDisp.js 中运行后的输出是:
output: Promise { pending }
t5Npxk5FfnRTj8iHd8vyyfGxnhXR4KQf
login.js:
module.exports = async function doLogin() {
const token = await loginToken();
const myToken = JSON.parse(token);
return console.log(myToken);
};
tokenDisp.js:
const myToken = require('./login.js);
myToken();
有人可以帮忙吗?
【问题讨论】:
-
是的,async 函数保证返回一个 Promise ... 所以,按预期使用 promises .then 方法 - 注意,您的
doLogin函数将返回一个 Promise,该 Promise 将始终解析为 @987654326 @,当然 -
myToken()返回一个承诺。这有什么问题吗? -
myToken() return promise
带有令牌,但我只想要令牌 -
然后,使用
.then就像你对任何其他承诺一样 - 这里有一些 documentation on how to use Promises (如果你不知道,async/await 是承诺的语法糖,所以承诺就是你需要学会使用) -
如果我使用.then,我需要将函数导出到另一个文件中并使用它,可以吗?
标签: javascript node.js async-await