带有Promisify挂起的Node.js异步/等待功能

时间:2019-09-11 17:32:51

标签: node.js function async-await node-promisify

我正在尝试使用Nodejs从AWS S3中提取base64图像。 我在util.promisify中使用异步功能。该函数正确提取数据,然后“挂起”。

async function profile_image_base64(user_id, s3_status){
    let profile_image = 'Not Loaded'
    if (s3_status == 'No Image'){
        profile_image = fs.readFileSync('path/to/blank/blank_profile.png', 'base64');
        profile_image = 'data:image/png;base64,' + profile_image
    }
    if (s3_status='Uploaded'){
        const util = require('util')
        const request = require('request').defaults({ encoding: null });
        const requestPromise = util.promisify(request);
        await requestPromise(request.get('https://path.to.s3' + user_id, function (error, response, body) {
            if (!error && response.statusCode == 200) {
                profile_image = "data:" + response.headers["content-type"] + ";base64," +  new Buffer(body).toString('base64');
                console.log(profile_image)
            }
        }));
    }
    return profile_image
}

Console.log显示预期的结果。但是函数不返回任何东西。 预先感谢您的指导。

0 个答案:

没有答案