Skip to content

Commit 6af9667

Browse files
fix 兼容 service eventlisteners 用法 review by luox
1 parent a3803f9 commit 6af9667

File tree

2 files changed

+233
-177
lines changed

2 files changed

+233
-177
lines changed

src/common/iServer/CommonServiceBase.js

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ export class CommonServiceBase {
254254
* @private
255255
*/
256256
serviceProcessCompleted(result, options) {
257-
result = Util.transformResult(result);
257+
result = this.transformResult(result).result;
258258
this.events.triggerEvent('processCompleted', {
259259
result: result,
260260
options: options
@@ -269,7 +269,7 @@ export class CommonServiceBase {
269269
* @private
270270
*/
271271
serviceProcessFailed(result, options) {
272-
result = Util.transformResult(result);
272+
result = this.transformErrorResult(result).error;
273273
let error = result.error || result;
274274
this.events.triggerEvent('processFailed', {
275275
error: error,
@@ -360,23 +360,25 @@ export class CommonServiceBase {
360360
object: this
361361
};
362362
if (requestResult.error) {
363+
const type = 'processFailed';
363364
// 兼容服务在构造函数中使用 eventListeners 的老用法
364-
if (options.failure === this.serviceProcessFailed) {
365-
var failure = options.scope ? FunctionExt.bind(options.failure, options.scope) : options.failure;
366-
failure(requestResult, options);
365+
if (this.events && this.events.listeners[type] && this.events.listeners[type].length) {
366+
var failure = options.failure && (options.scope ? FunctionExt.bind(options.failure, options.scope) : options.failure);
367+
failure ? failure(requestResult, options) : this.serviceProcessFailed(requestResult, options);
367368
} else {
368369
response = {...response, ...this.transformErrorResult(requestResult, options)};
369-
response.type = 'processFailed';
370+
response.type = type;
370371
options.failure && options.failure(response);
371372
}
372373
} else {
373-
if (options.success === this.serviceProcessCompleted) {
374-
var success = options.scope ? FunctionExt.bind(options.success, options.scope) : options.success;
375-
success(requestResult, options);
374+
const type = 'processCompleted';
375+
if (this.events && this.events.listeners[type] && this.events.listeners[type].length) {
376+
var success = options.success && (options.scope ? FunctionExt.bind(options.success, options.scope) : options.success);
377+
success ? success(requestResult, options) : this.serviceProcessCompleted(requestResult, options);
376378
} else {
377379
requestResult.succeed = requestResult.succeed == undefined ? true : requestResult.succeed;
378380
response = {...response, ...this.transformResult(requestResult, options)};
379-
response.type = 'processCompleted';
381+
response.type = type;
380382
options.success && options.success(response);
381383
}
382384
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy