簡體   English   中英

在 node.js 中使用 npm 包 Twitter 發布推​​文(不起作用)

[英]To post a tweet using npm package Twitter in node.js (not working)

我想在node.js環境中使用 npm 包Twitter發布一條推文。 當我使用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/"

我相信我在從我的承諾對象傳遞數據時犯了一些錯誤。有人可以幫我糾正這個嗎? 謝謝你。

問題是您正在嘗試在傳遞參數時執行異步操作,以便最終發送承諾。 你可以像這樣重構你的代碼,因為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 :status}))
 .then(tweet => console.log("tweet successfully sent", tweet.text))
 .catch(err => console.log(err));

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM