要在node.js中使用npm软件包Twitter发布推文(不起作用)

问题描述 投票:0回答:1

我想在Twitter环境中使用npm软件包node.js发布一条推文。使用文档client.post中所示的here方法时,我可以发布一条简单的文本推文。问题是,当我尝试使用promise.then()获取状态对象时,无法发布。我的诺言的输出是status对象,它是一个简单的url。另外,我的以下代码也没有收到任何错误或请求响应。

const Twitter = require('twitter'); 
const config = require('./config.js'); 
// passing client details from config file to new T class 
const T = new Twitter(config); 

T.post('statuses/update', getData(url).then((data)=>{
    let status = JSON.stringify(data);
    console.log(status)
    return status
}), function(error, tweet, response) {
    if(!error){
        console.log("tweet successfully sent", tweet.text);
    }
    else (error);
 });
// console.log(status)
// "http://example.com/"

我相信我在传递来自我的Promise对象的数据时犯了一些错误。有人可以帮助我更正吗?谢谢。

javascript node.js twitter node-modules
1个回答
0
投票

问题是您试图在传递参数的同时进行异步操作,从而最终发送承诺。您可以像这样重组代码,因为twitter包还支持promise。

const Twitter = require('twitter'); 
const config = require('./config.js'); 
// passing client details from config file to new T class 
const T = new Twitter(config); 

getData(url)
 .then(data => JSON.stringify(data))
 .then(status => T.post('statuses/update', status))
 .then(tweet => console.log("tweet successfully sent", tweet.text));

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.