Отличные ответы выше. Я хочу только добавить, что внутри области вашей функции вы можете присвоить значение этой переменной переменной let self = this;
, а затем внутри обратного вызова просто обратиться к данным типа self.data
.
Ваш код :
function MyConstructor(data, transport) {
this.data = data;
let self = this; //ADD THIS LINE
transport.on('data', function () {
alert(self.data); //USE IT LIKE THIS
});
}
// Mock transport object
var transport = {
on: function(event, callback) {
setTimeout(callback, 1000);
}
};
// called as
var obj = new MyConstructor('foo', transport);
Вы должны иметь возможность использовать API Twitter. Каждый твит имеет представление JSON ; JSON из Python прост .
Один из объектов , содержащихся в JSON , является expanded_url
, который определен как «Полностью разрешенный URL».
Самый простой способ в python2 - использовать urllib2.urlopen()
:
tco_url = "http://t.co/whatever"
req = urllib2.urlopen(tco_url)
print req.url
выведет URL tco_url
, наконец, разрешит, после выполнения всех переадресаций.
Используя запросов , вы можете написать:
>>> import requests
>>> print(requests.get("http://t.co/UVgwaemZ").url)
http://paper.li/vascoda/vascoda-partner