I'm having a problem with sending a response back to the content.js page from the background.js page.
On my content.js page I have:
chrome.runtime.sendMessage({auth: 'test'}, function(response){
console.log(response.auth);
});
And on my background.js page I have:
chrome.runtime.onMessage.addListener(function(request,sender,sendResponse){
if(request.addressToCopy){
copy(request.addressToCopy);
}
if(request.auth == 'test'){
chrome.storage.local.get(['access_token', 'refresh_token'], function(results){
$.get('https://coinbase.com/api/v1/account/balance', {access_token: results['access_token']}, function(data){
sendResponse({auth: 'pass!'});
}).fail(function(){
sendResponse({auth: 'fail!'});
});
});
}
});
My problem is: sendResponse doesn't work where it is in the code above. I won't get any error, it's just that content.js won't console.log anything. If I put the sendResponse OUTSIDE the if statement (so its directly a child of onMessage.addListener) it works, my content.js script will output "pass" or "fail". But it will not work how I have it. Why is that?