MVC フレームワーク用のビュー モジュールを作成しようとしています。
私は2つのバージョンのコードを持っています。1 つは同期を行い、もう 1 つは非同期です。
Async バージョンを使用する必要があることはわかっています。ただし、AB を介して負荷テストを行うたびに、同期バージョンからより良い結果が得られます。
私は何か間違ったことをしていますか?これは私がテストしているコードのサンプルです
同期バージョン:
var fs = require('fs'),
path = require('path'),
dot = require('dot');
Step = require('../libraries/step.js');
var view = function(){};
view.prototype = {
renderView : function(source, data, layout, callback)
{
var self = this;
if (typeof callback !== 'function') throw ViewCallbackException;
layout = layout ? layout : 'default';
(function(sources, datas, layouts, callbacks)
{
content = fs.readFileSync('./views/layouts/' + layouts + '/index.html', 'utf-8');
callbacks(null, content);
})(source, data, layout, callback);
}
}
非同期バージョン:
var fs = require('fs'),
path = require('path'),
dot = require('dot');
Step = require('../libraries/step.js');
var view = function(){};
view.prototype = {
renderView : function(source, data, layout, callback)
{
var self = this;
if (typeof callback !== 'function') throw ViewCallbackException;
layout = layout ? layout : 'default';
(function(sources, datas, layouts, callbacks)
{
Step(
function()
{
fs.readFile('./views/layouts/' + layouts + '/index.html', 'utf-8', this);
},
callbacks
);
})(source, data, layout, callback);
}
}