Вы можете думать о await
как о "распаковке" обещания.В данный момент ваш getData
не возвращает Promise
, и поэтому не нужно ничего "распаковывать".Хотя вы делаете return new Promise
в своей функции, вы фактически возвращаетесь к внутренней функции обратного вызова, а не к своей внешней getData
функции.
Итак, вам нужно обернуть ваш .get
метод в Обещание и разрешить данные:
function getData() {
var url = 'https://pigfox.com/api/v1/test';
return new Promise(resolve => { // getData returns a promise
https.get(url, res => {
res.setEncoding("utf8");
res.on('data', data => {
resolve(data); // resolve data which can be "unpacked" using await
});
});
});
}
async function go() {
var rs = await getData(); // now we can "unpack" the promise
console.log('getData(): ' + rs);
}
go();