如何从模块中检索数据并将结果存储在变量nodejs中

时间:2017-11-11 12:23:47

标签: node.js module

我有这个代码

        TinyURL.shorten(idvar , function(res) {
            console.log(res);     //Returns a shorter version of http://google.com
        })

缩短网址。我想要res的返回值并将其存储在一个变量中,以便我可以在其他地方使用结果。 我用过

return res;

但它并没有帮助我。 它与承诺有关吗? 如果是,请解释一下。

2 个答案:

答案 0 :(得分:0)

您可以“宣传”您的TinyURL.shortern功能,例如

const shortenUrl = url => new Promise((resolve, reject) =>
  TinyURL.shorten(url, (err, res) => err ? reject(err) : resolve(res))
);

然后您可以使用async / await

async someApi() {
  try {
    const shortened = await shortenUrl('http://google.com');
    console.log(shortened);
  } catch (e) {
    console.error(e);
  }
}

答案 1 :(得分:0)

试试这个

let shortenUrl;
    await TinyUrl.shorten(`${req.body.inputUrl}`).then((res) => {
        shortenUrl = res;
    }, (err) => {
        console.log(err)
    })