feat:add InjectEmpty to ignore too much logout
This commit is contained in:
parent
9a9482eeb5
commit
208c635b8b
@ -96,6 +96,12 @@ public class DoricJSEngine implements Handler.Callback, DoricTimerExtension.Time
|
||||
return null;
|
||||
}
|
||||
});
|
||||
mDoricJSE.injectGlobalJSFunction(DoricConstant.INJECT_EMPTY, new JavaFunction() {
|
||||
@Override
|
||||
public JavaValue exec(JSDecoder[] args) {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
mDoricJSE.injectGlobalJSFunction(DoricConstant.INJECT_REQUIRE, new JavaFunction() {
|
||||
@Override
|
||||
public JavaValue exec(JSDecoder[] args) {
|
||||
|
@ -31,6 +31,7 @@ public class DoricConstant {
|
||||
public static final String INJECT_TIMER_SET = "nativeSetTimer";
|
||||
public static final String INJECT_TIMER_CLEAR = "nativeClearTimer";
|
||||
public static final String INJECT_BRIDGE = "nativeBridge";
|
||||
public static final String INJECT_EMPTY = "nativeEmpty";
|
||||
|
||||
public static final String TEMPLATE_CONTEXT_CREATE = "Reflect.apply(" +
|
||||
"function(doric,context,Entry,require,exports){" + "\n" +
|
||||
|
@ -59,7 +59,9 @@ - (void)initJSExecutor {
|
||||
[self.jsExecutor injectGlobalJSObject:INJECT_LOG obj:^(NSString *type, NSString *message) {
|
||||
DoricLog(@"JS:%@", message);
|
||||
}];
|
||||
|
||||
[self.jsExecutor injectGlobalJSObject:INJECT_EMPTY obj:^() {
|
||||
|
||||
}];
|
||||
[self.jsExecutor injectGlobalJSObject:INJECT_REQUIRE obj:^(NSString *name) {
|
||||
__strong typeof(_self) self = _self;
|
||||
if (!self) return NO;
|
||||
|
@ -32,6 +32,7 @@ extern NSString *const INJECT_REQUIRE;
|
||||
extern NSString *const INJECT_TIMER_SET;
|
||||
extern NSString *const INJECT_TIMER_CLEAR;
|
||||
extern NSString *const INJECT_BRIDGE;
|
||||
extern NSString *const INJECT_EMPTY;
|
||||
|
||||
extern NSString *const TEMPLATE_CONTEXT_CREATE;
|
||||
|
||||
|
@ -32,6 +32,7 @@
|
||||
NSString *const INJECT_TIMER_SET = @"nativeSetTimer";
|
||||
NSString *const INJECT_TIMER_CLEAR = @"nativeClearTimer";
|
||||
NSString *const INJECT_BRIDGE = @"nativeBridge";
|
||||
NSString *const INJECT_EMPTY = @"nativeEmpty";
|
||||
|
||||
NSString *const TEMPLATE_CONTEXT_CREATE = @"Reflect.apply("
|
||||
"function(doric,context,Entry,require,exports){" "\n"
|
||||
|
@ -31,6 +31,8 @@ export function NativeCall(target: Panel, propertyKey: string, descriptor: Prope
|
||||
|
||||
type Frame = { width: number, height: number }
|
||||
|
||||
declare function nativeEmpty(): void
|
||||
|
||||
export abstract class Panel {
|
||||
context?: any
|
||||
onCreate() { }
|
||||
@ -132,7 +134,7 @@ export abstract class Panel {
|
||||
|
||||
private hookAfterNativeCall() {
|
||||
//Here insert a native call to ensure the promise is resolved done.
|
||||
log('Check Dirty')
|
||||
nativeEmpty()
|
||||
if (this.__root__.isDirty()) {
|
||||
const model = this.__root__.toModel()
|
||||
this.nativeRender(model)
|
||||
|
Reference in New Issue
Block a user