У меня есть прокси-сервер для экспресс-доставки. Он проверяет заголовок, и если все круто это вызывает next()Быстрое связывание с машинописным текстом
Теперь, когда я нахожусь в «DoSomething», «это» равно глобальному, а не экземпляру «Test» и «this.DoSomeThingPrivate» не определено.
Я попытался рисунок
DoSomeThingPrivate :() => void;
this.DoSomeThingPrivate =() => {
...
}
. Но и не работает.
import express = require('express');
var app = express();
class Test {
constructor() {
}
DoSomething(req:express.Request, res:express.Response, next:Function) :void {
this.DoSomeThingPrivate();
}
private DoSomeThingPrivate() :void
{
}
}
var test = new Test();
app.use(test.DoSomething);
Любые идеи ...
благодаря
спасибо, что парень, который работал. Я все еще использую машинописный текст – Pintac
Не беспокойтесь. Однако это не проблема с машинописным шрифтом. Вы обнаружите, что это обычно происходит в JavaScript. – johngeorgewright
В дополнение к этому ответу и ответу @ basarat, здесь [большое описание «this» в TypeScript] [1], в котором описывается причина проблемы, предлагаемые здесь решения и компромиссы при выборе одного из них. [1]: https://github.com/Microsoft/TypeScript/wiki/'this'-in-TypeScript – AronVanAmmers