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
|
||||
*/
|
||||
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
|
||||
*/
|
||||
callHandler: (handleName: string, data: any, responseCallback: (responseData: any) => void) => void
|
||||
callHandler: (handleName: string, data?: any, responseCallback?: (responseData: any) => void) => void
|
||||
|
||||
/**
|
||||
* Who knows
|
||||
@ -114,6 +114,16 @@ export class JsBridge {
|
||||
document.documentElement.appendChild(WVJBIframe)
|
||||
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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user