Я пишу код с использованием генераторов и Bluebird, и у меня есть следующее:
var async = Promise.coroutine;
function Client(request){
this.request = request;
}
Client.prototype.fetchCommentData = async(function* (user){
var country = yield countryService.countryFor(user.ip);
var data = yield api.getCommentDataFor(user.id);
var notBanned = yield authServer.authenticate(user.id);
if (!notBanned) throw new AuthenticationError(user.id);
return {
country: country,
comments: data,
notBanned: true
};
});
Однако, это довольно медленно, я чувствую, что мое приложение слишком много ждет для ввода-вывода, и это не параллельно. Как повысить производительность моего приложения?
Общее время отклика составляет 800 для countryFor
+ 400 для getCommentDataFor
+ 600 для authenticate
, поэтому всего 1800 мс, что много.