При использовании API Twitter, если все в порядке, то с помощью err[0].message
будет возвращено You have already ___ed this tweet.
, однако, если код состояния HTTP поступит, скажем, из-за ограничения скорости, то вывод станет TypeError: Cannot read property 'message' of undefined
, что может вызвать скрипт останавливается при ошибке.
Эту проблему можно решить, изменив err[0].message
на err.message
, однако, если все хорошо, он вернет undefined
вместо You have already ____ed this tweet.
.
Фрагмент при использовании err.message
:
T.post('statuses/retweet', id, function(err, response){
// log failures
if(err){
console.log(err.message);
Вывод, когда скорость ограничена:
HTTP Error: 429 Too Many Requests
Выход без ограничения скорости:
undefined
Фрагмент при использовании err[0].message
:
T.post('statuses/retweet', id, function(err, response){
// log failures
if(err){
console.log(err.message);
Выход при ограничении скорости:
TypeError: Cannot read property 'message' of undefined
Выход без ограничения скорости:
You have already retweeted this tweet.
Так каков наилучший способ справиться с этим, чтобы оба они могли правильно регистрироваться, не вызывая ошибки или неясно при выводе?