Improve: add promise callhandler api

This commit is contained in:
jas0ncn 2018-09-02 16:33:35 +08:00
parent d64d1786e8
commit f40da55557

View File

@ -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) {