Из прочитанного про async/await, я понял что эта конструкция должна упростить код, избавить разработчиков от лишних коллбэков. Я запустил такой пример:
var request = require('request');
var async = require('asyncawait/async');
var await = require('asyncawait/await');
function getQuote() {
var quote;
return new Promise(function(resolve, reject) {
request('http://ron-swanson-quotes.herokuapp.com/v2/quotes', function(error, response, body) {
quote = body;
resolve(quote);
});
});
}
var main = async (()=>{
var quote = await(getQuote());
console.log(quote);
});
main();
console.log('Ron once said,');
В консоли вижу следующее:
Ron once said,
["Great job, everyone..."]
Это говорит о том, что
main() срабатывает после
console.log('Ron once said,').
Но в чем суть тогда, если один-черт нужно передавать коллбэк в
main() чтобы сначала получить результат запроса, а потом что-то с ним делать?
Как добиться того, чтобы в данном примере сначала сработал
main() а потом
console.log()?