mirror of
https://github.com/woodchen-ink/clash-and-dashboard.git
synced 2025-07-18 14:01:56 +08:00
Improve: add promise callhandler api
This commit is contained in:
parent
d64d1786e8
commit
f40da55557
@ -20,12 +20,12 @@ export interface JsBridgeAPI {
|
|||||||
/**
|
/**
|
||||||
* Register a javascript bridge event handle
|
* Register a javascript bridge event handle
|
||||||
*/
|
*/
|
||||||
registerHandler: (eventName: string, callback: (data: any, responseCallback: (param: any) => void) => void) => void
|
registerHandler: (eventName: string, callback?: (data: any, responseCallback: (param: any) => void) => void) => void
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Call a native handle
|
* Call a native handle
|
||||||
*/
|
*/
|
||||||
callHandler: (handleName: string, data: any, responseCallback: (responseData: any) => void) => void
|
callHandler: (handleName: string, data?: any, responseCallback?: (responseData: any) => void) => void
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Who knows
|
* Who knows
|
||||||
@ -114,6 +114,16 @@ export class JsBridge {
|
|||||||
document.documentElement.appendChild(WVJBIframe)
|
document.documentElement.appendChild(WVJBIframe)
|
||||||
setTimeout(() => document.documentElement.removeChild(WVJBIframe), 0)
|
setTimeout(() => document.documentElement.removeChild(WVJBIframe), 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public callHandler (handleName: string, data?: any) {
|
||||||
|
return new Promise(resolve => {
|
||||||
|
this.instance.callHandler(
|
||||||
|
handleName,
|
||||||
|
data || undefined,
|
||||||
|
resolve
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function setupJsBridge (callback) {
|
export function setupJsBridge (callback) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user