NodeJS API函数的范围-Firebase函数和Twitter API

我正在尝试将Twitter API的响应发送到Firebase HTTP响应-有点被Node中的作用域所混淆。我在firebase服务器上获得了console.log,因此可以使用Twitter API进行所有设置。我不知道如何将响应从GET req内部传递到外部变量,该变量将发送Firebase HTTP响应。


exports.twitterFunction = functions.https.onRequest((request,response) => {

  const client = new Twitter({
    consumer_key: "",consumer_secret: "",access_token_key: "",access_token_secret: ""
  });

  const params = { screen_name: "" };
  const latesttweet = "";

  client.get("statuses/user_timeline",params,(error,tweets,response) => {
    if (error) throw error;
    this.latesttweet = tweets[0].text;
    console.log(tweets[0].text);
    console.log(latesttweet);
  });

  response.send(latesttweet);

});

woshishenchangjin 回答:NodeJS API函数的范围-Firebase函数和Twitter API

client.get()是异步的,并在数据可用之前立即返回。稍后将在传递给它的回调函数中提供数据。因此,您应该从回调内部发送响应,因为那是您的数据可用的地方。

  client.get("statuses/user_timeline",params,(error,tweets,response) => {
    if (error) throw error;
    this.latesttweet = tweets[0].text;
    console.log(tweets[0].text);
    console.log(latesttweet);
    response.send(latesttweet);   // move this inside the callback
  });
本文链接:https://www.f2er.com/3159621.html

大家都在问