pomelo原始碼分析(三)

2021-06-12 19:21:39 字數 1898 閱讀 5863

/**

* * @param cb callback function

* */

if(this.state > state_inited)

this.loaddefaultcomponents();

var self = this;

this._optcomponents('start', function(err) );

};

/**

*//**

* * @api private

*/ var pomelo = require('./pomelo');

if (this.servertype === 'master') else

if(this.isfrontend()) else

this.load(pomelo.channel, this.get('channelconfig'));

this.load(pomelo.server, this.get('serverconfig'));

} this.load(pomelo.monitor, this);

};

根據配置檔案來載入對應的伺服器,讓我們看看load函式

/**

* load component

* * @param name (optional) name of the component

* @param component component instance or factory function of the component

* @param opts (optional) construct parameters for the factory function

* */

if(typeof name !== 'string')

} component = component(this, opts);

} if(!component)

if(!name && typeof component.name === 'string')

if(name && this.components[name])

this.loaded.push(component);

if(name)

return this;

};

初始化預設載入模組的列表彙總

從已載入模組裡面,批量執行對應模組的方法,根據上面的**,傳入的引數是『start',即每乙個模組都執行start,如master,即執行master.start()

/**

* this method would invoke the component in series.

* any component return err, it would return err directly.

* * @param method component lifecycle method name, such as: start, afterstart, stop

* @param cb

* @api private

*/ var i = 0;

async.foreachseries(this.loaded, function(comp, done) else

}, function(err)

cb(err);

});};

async模組的git:

這篇就介紹完畢,通過loaddefaultcomponents 函式載入預設模組,master是伺服器最基本的模組,下篇我們將從 master.start 開始分析

pomelo原始碼分析 一

var pomelo require pomelo route configures filter configures process.on uncaughtexception function err 注意 在webstorm下除錯,可能因為工作目錄的設定原因會導致應用的執行路徑問題,導致無法讀...

pomelo原始碼分析(1)

首先我們來分析一下 at pinus.ts opts 繼續往下看 init opts let base opts.base process.cwd this set constants.reserved base base this base base defaultconfiguration th...

redux原始碼分析(三) 原始碼部分

下面是每個部分的一些解讀 createstore apicreatestore reducer,initialstate enhancer 曾經非常好奇這個函式的第二個引數到底是initialstate還是enhancer,因為見過兩種寫法都有的,以為是版本問題。看了原始碼才發現,都可以的。如果你不...