直接上代码:
const request = require('request-promise-native');
var config = require('../config.js');
async function getAccesstoken(){
var raw = new Buffer(config.username + ":" + config.password);
const accesstoken = await request({
method: 'GET',
headers: {
'Authorization': 'Basic ' + raw.toString('base64')
},
url: config.ACCESS_TOKEN,
json: false
});
return accesstoken;
}
module.exports = getAccesstoken;
消费代码:
accesstokenService().then(function(oResult){
console.log(oResult);
});
单步执行后,调试器执行到第7行时,执行跳过,第16行也没有机会得到单步执行,而是直接跳出了这个getAccesstoken的函数。稍等几秒后,断点直接从第16行return关键字处触发。
此时这个accesstoken的变量包含的是纯粹的Access Token值,而不是被包裹的promise对象。
尽管如此,整个async函数最后返回的是一个promise对象,其包含的access token用promise对象提供的then方法拿到:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。