Это проблема, связанная с обещаниями, последний вызов функции 'return thebase;' скорее всего вернет неопределенное, так как обещание еще не выполнено. когда функция возвращается. Я считаю полезным использовать ключевые слова async и ожидать, что это действительно превращает код в гораздо более читаемый формат (он значительно выравнивает код).
function base64_encode(path,file,thebase) {
var leKey = path+'/'+file;
var params = {
'Bucket': "xxx",
'Key': leKey
}
return s3.getObject(params).promise();
}
Затем в основной функции вы хотите обработать обещание с помощью .then ()
Если вы используете async / await, это будет выглядеть следующим образом:
async function base64_encode(path,file,thebase) {
var leKey = path+'/'+file;
var params = {
'Bucket': "xxx",
'Key': leKey
}
return s3.getObject(params).promise();
}
let thebase = await base64_encode('stuff');
Надеюсь, это поможет