From 3e4cb9120baf398838fc8c4165d0ce7e37661f67 Mon Sep 17 00:00:00 2001 From: BboyZaki <1512438313@qq.com> Date: Thu, 7 Sep 2023 20:45:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(runtime-mini):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E8=BD=AC=E5=85=B6=E4=BB=96=E7=AB=AF=20jsapi?= =?UTF-8?q?=20nextTick=20=E7=9A=84=E5=85=BC=E5=AE=B9=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/runtime-mini/src/wechat/apis.ts | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/packages/runtime-mini/src/wechat/apis.ts b/packages/runtime-mini/src/wechat/apis.ts index 1cbd567d..15081185 100644 --- a/packages/runtime-mini/src/wechat/apis.ts +++ b/packages/runtime-mini/src/wechat/apis.ts @@ -1,4 +1,8 @@ -import { getGlobalObject, transformApis } from '@morjs/runtime-base' +import { + getGlobalObject, + IAPITransformConfig, + transformApis +} from '@morjs/runtime-base' /** * 微信需要被 promisified 的接口 @@ -142,12 +146,26 @@ export const needPromisfiedApis = [ 'writeBLECharacteristicValue' ] +const apiTransformConfig: IAPITransformConfig = { + nextTick: { + fn: function (global, callback) { + if (typeof callback !== 'function') return + if (typeof global?.nextTick === 'function') { + return global.nextTick(callback) + } else { + return setTimeout(callback, 0) + } + } + } +} + export function initApi(mor: Record) { transformApis( mor, getGlobalObject(), { - needPromisfiedApis + needPromisfiedApis, + apiTransformConfig }, false, false