node.js + hapi.js在响应之前等待函数执行

我的代码响应来自外部站点的数据的请求 – 它从互联网中获取数据,与任何响应打包在一起。

我是一个JavaScript初学者,我不习惯asynchronous编程。 有人可以告诉我,如果我这样做是正确的:

var Hapi = require('hapi'); var Handlebars = require('handlebars'); var ical = require('ical'); // Set up server here: // ... // Get data from the web: var ical_url = 'url_here'; function fmt_events(data){ var eventData = {events:[]} // format data and push onto eventData.events return eventData; } // here is where I need feedback: server.route({ method: 'GET', path: '/', handler: function (request, reply) { function events_callback(err, data) { var eventData = fmt_events(data); reply.view('index', { title: 'Title', events: eventData }); } ical.fromURL(ical_url, {}, events_callback); } });