Search code examples
javascripttypescriptreturn

How can i return something from a function like this?


I'm quite new to typescript and have a fuction that will fetch user's steam inventory and store it in "inventory" parameter, but when i want to return it it will return undefined:

function getUserInv(steamid) {
    manager.getUserInventoryContents(steamid, 440, 2, true, function(err, inventory) {
        if(err) {
            console.log(err);
        } else {
            return inventory
        };
    });
};

console.log(getUserInv('<my steamid>')) //returns undefined

How can i make it so that when i call it like above, it returns the inventory?


Solution

  • you can wrap it into a Promise like this

    function getUserInv(steamid) {
        return new Promise((resolve, reject) => {
        manager.getUserInventoryContents(steamid, 440, 2, true, function(err, inventory) {
            if(err) {
                reject(err);
            } else {
                resolve(inventory)
            };
        });
    }
    };
    
    getUserInv('<my steamid>').then(console.log)