You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 4, 2019. It is now read-only.
According to NodeJS conventions, the callback should be error-first, meaning getChromeExtensionStatus() should return a callback with an error as the first value and the status as the second value.
I am using Bluebird's promisify function with getChromeExtensionStatus() and I have to use .catch because of that.
Promise.promisify(window.getChromeExtensionStatus)()
.catch(function(error) {
console.log(error.message) // will get me the status
});
here is my suggestion
window.getChromeExtensionStatus = function(callback) {
// for Firefox:
if (!!navigator.mozGetUserMedia) {
callback(new Error('not-chrome'), null);
return;
}
window.addEventListener('message', onIFrameCallback);
function onIFrameCallback(event) {
if (!event.data) return;
if (event.data.chromeExtensionStatus) {
if (event.data.chromeExtensionStatus === 'installed-enabled') {
callback(null, event.data.chromeExtensionStatus);
} else {
callback(new Error(event.data.chromeExtensionStatus), null);
}
}
// this event listener is no more needed
window.removeEventListener('message', onIFrameCallback);
}
setTimeout(postGetChromeExtensionStatusMessage, 100);
};
According to NodeJS conventions, the callback should be error-first, meaning
getChromeExtensionStatus()should return a callback with an error as the first value and the status as the second value.I am using Bluebird's promisify function with
getChromeExtensionStatus()and I have to use.catchbecause of that.here is my suggestion