[英]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.