Size: a a a

Боты на Telegraf

2021 January 11

АГ

Андрей Гуртовой... in Боты на Telegraf
Sergei
var f = function(r) {
   r.apply({a:1});
}

var c = function() {
   console.log(this);
};

new Promise(f).then(c);// Object [global] {}
f(c);// { a: 1 }

Подскажите почему в одном случае выводит локальный this в другом глобальный?
Мне нужно чтобы был локальный, то есть this = { a: 1 }
потому что тхис создаётся в момент запуска функции
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
вангую тебе стоит Promise.resolve возвращать в задаче
источник

S

Sergei in Боты на Telegraf
bind делает функцию одноразовой
источник

S

Sergei in Боты на Telegraf
Андрей Гуртовой
потому что тхис создаётся в момент запуска функции
не понимаю вроде все очевидно, но не понимаю как это this создается в момент запуска?
Разве он не создается во второй строчке?
источник

S

Sergei in Боты на Telegraf
Josh Dies 🥭 [man go]
вангую тебе стоит Promise.resolve возвращать в задаче
Еще не переварил как тут через bind можно сделать
источник

АГ

Андрей Гуртовой... in Боты на Telegraf
Sergei
не понимаю вроде все очевидно, но не понимаю как это this создается в момент запуска?
Разве он не создается во второй строчке?
не.
по идее then запускает var c = function со своим тхисом
источник

АГ

Андрей Гуртовой... in Боты на Telegraf
какую задачу вы решаете ? давайте я вам помогу )
источник

S

Sergei in Боты на Telegraf
ctx.reply('текст').then(function(ctx) {
   this// ...
});
Мне нужно во вторую строчку передать свой this
источник

АГ

Андрей Гуртовой... in Боты на Telegraf
можно воспользоваться стрелочной функцией, если ваш тхис на верхнем уровне...
источник

АГ

Андрей Гуртовой... in Боты на Telegraf
ну либо так
ctx.reply('текст').then((function(ctx) {
   this// ...
}).bind({lalala:'lololo'}));
источник

JD

Josh Dies 🥭 [man go]... in Боты на Telegraf
bind(ctx) ну елы
источник

ЛХ

Лапки Х in Боты на Telegraf
Yūri 💜 Ly
потому что Виталя продал телеграф узбекам и они его переделали на тс
Бля
источник

ЛХ

Лапки Х in Боты на Telegraf
Всмысле
источник

S

Sergei in Боты на Telegraf
Мне нужно получить message_id не через ctx, а через this.message_id
источник

ЛХ

Лапки Х in Боты на Telegraf
Yūri 💜 Ly
потому что Виталя продал телеграф узбекам и они его переделали на тс
Ну хоть приветствие стало получше на сайте
источник

☔️✨ɸᴇнᴇᴋ бᴇɜ-нᴏжᴇᴋ✨☔... in Боты на Telegraf
Лапки Х
Ну хоть приветствие стало получше на сайте
а ты дальше посмотри
источник

☔️✨ɸᴇнᴇᴋ бᴇɜ-нᴏжᴇᴋ✨☔... in Боты на Telegraf
страшна
источник

ЛХ

Лапки Х in Боты на Telegraf
И чё
источник

ЛХ

Лапки Х in Боты на Telegraf
За то нормально расписано
источник

ЛХ

Лапки Х in Боты на Telegraf
Ниже
источник