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