在继续执行代码之前,如何等待API调用完成

时间:2018-12-21 18:33:34

标签: javascript https async-await

我正在构建一个实践库,其中包含一堆函数,这些函数会进行不同的API调用,并且大多数情况下会返回一个对象。我想在API调用完成后处理一些数据。这是一个非常基本的问题,我想以最简单的方法解决它。在该示例中,我只记录了“ hi”以尝试使它记录在api调用日志之后,在生产中显然是数据。

我开始研究异步/等待并在代码中实现Promise,但是我不确定这是否真的是我尝试做的最好方法。

function getAttr(attr, id){
    let attrValue = attr;
    let charInfo = '';
    https.get('https://swapi.co/api/people/' + id + '/', 
    function(res){


        res.on('data', function(data){
            charInfo += data;
        });

        res.on('end', function(){
            charInfo = JSON.parse(charInfo)
            console.log(charInfo)

        });

    });
console.log('hi')
};

我一直得到“ hi”,然后得到我的数据对象。我尝试弄乱Promise,但由于我正在构建某个人需要的库,然后调用该函数,因此我想确保该函数在代码的最后执行了应做的事情,以使UX变得更容易和更简单。

0 个答案:

没有答案