http:Http;
constructor(http:Http){
this.http = http;
}
myFunction(){
//this.http works great here!
this.providerobject.getSomething(function(err, result) {
//this.http here is undefined! I need to use it here
.
.
.
С кодом, показанным выше, я пытаюсь сделать запрос HTTP внутри функций provider.getSomething
, но мне кажется, this.http
объект не определен здесь! Как я могу сделать http-вызов внутри этой функции? Я знаю, что это связано с тем, что этот объект работает вне функции provider.getSomething
. Хотя я не знаю, как это передать. Скажем, я это делаю:передавая объект в функцию внутри функции - область выпуска
this.providerobject.getSomething(this.http, function(err, result) {
Ну, это передаст его функции моего провайдера, но не эта функция. Как я могу использовать этот объект в этой области?
Возможный дубликат [Как получить доступ к правильному \ 'этому \'/контексту внутри обратного вызова?] (Http://stackoverflow.com/questions/20279484/how-to-access-the-correct-this-context -indide-a-callback) –
Я не работаю с Angular 2, но в большинстве случаев это [Function.bind()] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind) работает хорошо. – Jhecht