From fe1fff738d4cce00eff2821a35f004a9df9104a6 Mon Sep 17 00:00:00 2001 From: wangcuijuan Date: Mon, 9 Dec 2024 11:31:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9promise=E4=B8=BA=E6=97=A2?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5success=E4=B9=9F=E8=83=BDthen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/api-proxy/src/common/js/promisify.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/api-proxy/src/common/js/promisify.js b/packages/api-proxy/src/common/js/promisify.js index 3eb20590b4..3f19af391a 100644 --- a/packages/api-proxy/src/common/js/promisify.js +++ b/packages/api-proxy/src/common/js/promisify.js @@ -70,14 +70,22 @@ function promisify (listObj, whiteList, customBlackList) { result[key] = function (...args) { const obj = args[0] || {} // 不需要转换 or 用户已定义回调,则不处理 - if (!promisifyFilter(key) || obj.success || obj.fail) { + if (!promisifyFilter(key)) { return listObj[key].apply(ENV_OBJ, args) } else { // 其他情况进行转换 if (!args[0]) args.unshift(obj) let returned const promise = new Promise((resolve, reject) => { - obj.success = resolve - obj.fail = reject + const originSuccess = obj.success + const originFail = obj.fail + obj.success = function (res) { + originSuccess && originSuccess.call(this, res) + resolve(res) + } + obj.fail = function (e) { + originFail && originFail.call(this, e) + reject(e) + } returned = listObj[key].apply(ENV_OBJ, args) }) promise.__returned = returned