【发布时间】:2016-11-18 13:05:54
【问题描述】:
我正在尝试从 GMail API 获取数据,以便能够从那里加载 base64 加密的附件数据,但当我尝试返回它时,我得到了未定义。
$Message['Content']['Attachment'][$Count]['Data'] = getAttachments($Message['Details']['ID'], message['payload']['parts'][key], function (filename, mimeType, attachment) {
return 'data:'+mimeType+';base64,'+attachment.data.replace(/-/g, '+').replace(/_/g, '/');
});
function getAttachments(messageID, parts, callback) {
var attachId = parts.body.attachmentId;
var request = gapi.client.gmail.users.messages.attachments.get({
'id': attachId,
'messageId': messageID,
'userId': 'me'
});
request.execute(function (attachment) {
callback(parts.filename, parts.mimeType, attachment);
});
}
问题似乎是在函数返回一个值之后数据才可用。这已经通过 console.log() 进行了测试。
【问题讨论】:
标签: javascript jquery asynchronous callback gmail-api