Skip to content

Commit 1d7d19b

Browse files
authored
fix: fix call legacyReadyCallback with options (#250)
1 parent f5eaa2c commit 1d7d19b

3 files changed

Lines changed: 22 additions & 34 deletions

File tree

lib/lifecycle.js

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -71,23 +71,15 @@ class Lifecycle extends EventEmitter {
7171
}
7272

7373
legacyReadyCallback(name, opt) {
74-
const timingKeyPrefix = 'Did Load';
75-
if (!opt) {
76-
const timing = this.timing;
77-
const cb = this.loadReady.readyCallback(name);
78-
const timingkey = `${timingKeyPrefix} in ` + utils.getResolvedFilename(name, this.app.baseDir);
79-
this.timing.start(timingkey);
80-
return function legacyReadyCallback(...args) {
81-
timing.end(timingkey);
82-
cb(...args);
83-
};
84-
}
85-
this[REGISTER_READY_CALLBACK]({
86-
scope: opt,
87-
ready: this.loadReady,
88-
timingKeyPrefix,
89-
scopeFullName: name,
90-
});
74+
const timingKeyPrefix = 'readyCallback';
75+
const timing = this.timing;
76+
const cb = this.loadReady.readyCallback(name, opt);
77+
const timingkey = `${timingKeyPrefix} in ` + utils.getResolvedFilename(name, this.app.baseDir);
78+
this.timing.start(timingkey);
79+
return function legacyReadyCallback(...args) {
80+
timing.end(timingkey);
81+
cb(...args);
82+
};
9183
}
9284

9385
addBootHook(hook) {

test/egg.test.js

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ describe('test/egg.test.js', () => {
480480
yield app.ready();
481481

482482
const json = app.timing.toJSON();
483-
assert(json.length === 28);
483+
assert(json.length === 27);
484484

485485
assert(json[1].name === 'Application Start');
486486
assert(json[1].end - json[1].start === json[1].duration);
@@ -503,28 +503,27 @@ describe('test/egg.test.js', () => {
503503
assert(json[12].name === 'Require(6) app.js');
504504
assert(json[13].name === 'Before Start in app.js:6:9');
505505
assert(json[14].name === 'Before Start in mock Block');
506-
assert(json[15].name === 'Did Load in mockReadyCallbackWithFunction');
507-
assert(json[16].name === 'Did Load in mockReadyCallbackWithoutFunction');
506+
assert(json[15].name === 'readyCallback in mockReadyCallbackWithoutFunction');
508507

509-
assert(json[17].name === 'Load "proxy" to Context');
510-
assert(json[18].name === 'Load Controller');
511-
assert(json[19].name === 'Load "controller" to Application');
508+
assert(json[16].name === 'Load "proxy" to Context');
509+
assert(json[17].name === 'Load Controller');
510+
assert(json[18].name === 'Load "controller" to Application');
512511

513512
// loadService
514-
assert(json[20].name === 'Load Service');
515-
assert(json[21].name === 'Load "service" to Context');
513+
assert(json[19].name === 'Load Service');
514+
assert(json[20].name === 'Load "service" to Context');
516515

517516
// loadMiddleware
518-
assert(json[22].name === 'Load Middleware');
519-
assert(json[23].name === 'Load "middlewares" to Application');
517+
assert(json[21].name === 'Load Middleware');
518+
assert(json[22].name === 'Load "middlewares" to Application');
520519

521520
// loadController
522-
assert(json[24].name === 'Load Controller');
523-
assert(json[25].name === 'Load "controller" to Application');
521+
assert(json[23].name === 'Load Controller');
522+
assert(json[24].name === 'Load "controller" to Application');
524523

525524
// loadRouter
526-
assert(json[26].name === 'Load Router');
527-
assert(json[27].name === 'Require(7) app/router.js');
525+
assert(json[25].name === 'Load Router');
526+
assert(json[26].name === 'Require(7) app/router.js');
528527
});
529528
});
530529

test/fixtures/timing/app.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ module.exports = app => {
1414
block();
1515
}, 'mock Block');
1616

17-
app.readyCallback('mockReadyCallbackWithFunction', function() {
18-
});
19-
2017
const cb = app.readyCallback('mockReadyCallbackWithoutFunction');
2118
setTimeout(cb, 1000);
2219

0 commit comments

Comments
 (0)