You must send the function sendResponseto your callback.
getMessage('me', request.messageId, sendResponse);
Then do this when your call is getMessagecompleted.
function getMessage(userId, messageId, sendResponse) {
var request = gapi.client.gmail.users.messages.get({
'userId': userId,
'id': messageId
});
request.execute(function(response) {
sendResponse({messagePayload: response.payload});
});
}
Another possible solution:
tab id sender.getMessage.getMessage script.- script
onMessage, , , .
:
chrome.runtime.onMessage.addListener(function (request, sender,sendResponse) {
getMessage('me', request.messageId, sender.tab.id);
});
function getMessage(userId, messageId, tabId) {
var request = gapi.client.gmail.users.messages.get({
'userId': userId,
'id': messageId
});
request.execute(function(response) {
chrome.tabs.sendMessage(tab.id, {messagePayload: response.payload});
});
}
chrome.runtime.sendMessage({ messageId: _id });
chrome.runtime.onMessage.addListener(function (request, sender,sendResponse) {
if (request.messagePayload) {
console.log('the respose.messagePayload is: ' + request.messagePayload);
}
});
, .