I have setup a proxy like this:
const browser = new Proxy({}, {
get: function(target, name, receiver) {
return function(...args) {
if (userExpectsPromise) { // how to detect this?
return new Promise(resolve => chrome[name](...args, resolve))
} else {
return chrome[name](...args);
}
};
return target[name];
}
});
What this does is allows user to do browser.***('arg1', 'arg2')
, this will call ***
on the chrome
branch.
However some of the ***
on chrome
branch accept a final argument of a callback. When it does, a user adds a .then
so they would do - browser.***('arg1', 'arg2').then(.....)
. I need to detect/intercept if user did a .then
. Is this possible?
My other option would be to hardcode which chrome.***
accept a callback, but that is not safe way, as the chrome.***
API is always evolving.
Aucun commentaire:
Enregistrer un commentaire