试图将全局变量设置为在每个循环中嵌套的回调

2022-10-15 12:56:24标签javascriptnode.jstwittercallback
提问

我正在使用Twitter API,我正在尝试创建一个线程。要做一个线程,你必须回复你最新的回复,以继续线程而不是原始的Tweet。要做到这一点,您必须让tweet id使用in_reply_to_status_id paramater。 在我试图设置全局变量微博的回调函数中可以访问tweet id。问题是,推特id没有更新,所有的回复都是相同的tweet id。 这是我的代码。 让我们只在同一个范围内保留它的值。

    let tweetId;
    if (tweets.length > 1) {
      // tweet original tweet
      client.post(
        "statuses/update",
        { status: tweets[0] },
        (error, tweet, response) => {
          if (error) return res.status(500).send("Server Error");
          // set tweet id of original tweet to be used for reply
          tweetId = tweet.id_str;
          // loop through all tweets and reply to the latest reply (Creating a thread)
          tweets
            .filter((tweet, i) => i > 0)
            .forEach((tweet) => {
              client.post(
                "statuses/update",
                { status: tweet, in_reply_to_status_id: tweetId },
                (error, tweet, response) => {
                  if (error) return res.status(500).send("Server Error");
                  // set new tweet id to be used for reply
                  tweetId = tweet.id_str;
                }
              );
            });
        }
      );
      res.send("success");
    }
回答
globalThis.tweetId = tweet.id_str;

▼版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说cuoshuo.com——程序员的报错记录

部分内容根据CC版权协议转载,如果您希望取消转载请发送邮件到cuoshuo8@163.com

辽ICP备19011660号-5