Я пытаюсь проверить, является ли определенный объект (this
) экземпляром потока. Мне сложно определить, действительно ли это оригинал this
в глубине функции, как это было при срабатывании функции.Как проверить, является ли объект экземпляром stream.js?
Я пробовал typeof this
, и он возвращает object
. Я рассмотрел этот вопрос и не нашел ясного ответа .. какие-либо предложения? Благодаря, прежде
StreamName.prototype._getEndpointData = function (endpoint) {
/*
Make a request based on a specific endpoint
*/
var apikey = this.source.apikey;
request.getAsync({
headers: {
// 'content-type' : 'application/x-www-form-urlencoded',
'User-Agent': 'request',
'Authorization': getAuthByApikey(apikey)
},
url: generateUrl(apikey, endpoint)
})
.get(1) // get the body
.then(function (body) {
if (body == 'Authentication Failed') {
throw new Error(body);
}
return body;
})
.then(JSON.parse)
.then(function (body) {
if (body.status == 500) {
throw new Error(body.message || 'MailChimp API request error');
}
// collections: lists, campaigns & reports
var collection = body[ endpoint ];
for (var i in collection){
var instanceEndpoint = endpoint + '/' + collection[i].id;
request.getAsync({
headers: {
'User-Agent': 'request',
'Authorization': getAuthByApikey(apikey)
},
url: generateUrl(apikey, instanceEndpoint)
})
.get(1) // get the body
// .then(console.log)
.then(function (body) {
if (body == 'Authentication Failed') {
throw new Error(body);
}
return body;
})
.then(JSON.parse)
.then(function (body) {
return body;
})
.then(this.push.bind(this))
// Getting an error Unhandled rejection TypeError: Cannot read property 'bind' of undefined
// IS 'THIS' as the same as it was at top of the function?
.then(this.push.bind(this, null))
.catch(this.emit.bind(this, 'error'));
}
})
}
Вы можете разместить свой код? –
@VsevolodGoloviznin добавлен код .. –