1

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);
    }
}
4

0 に答える 0