Skip to content

Instantly share code, notes, and snippets.

@zzdjk6
Created August 17, 2019 04:03
Show Gist options
  • Save zzdjk6/53ce3a1b3d61b38fd6abea9e3a7fa85f to your computer and use it in GitHub Desktop.
Save zzdjk6/53ce3a1b3d61b38fd6abea9e3a7fa85f to your computer and use it in GitHub Desktop.
WKWebView CORS Solution: callback.js
import _ from 'lodash';
const resolvePromise = (uuid, resolveData, rejectReason) => {
const promise = _.get(window, `jsCallbackBridge.promises.${uuid}`);
if (!promise) {
return;
}
const { resole, reject } = {...promise};
if (rejectReason) {
reject(rejectReason);
return;
}
// resolveData is base64-encoded
const jsonStr = window.atob(resolveData);
const json = JSON.parse(jsonStr);
resolve(json);
};
window.jsCallbackBridge = window.jsCallbackBridge || {};
window.jsCallbackBridge.promises = window.jsCallbackBridge.promises || {};
window.jsCallbackBridge.resolvePromise = window.jsCallbackBridge.resolvePromise || resolvePromise;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment