Comments (5)
Hey.
Yes, ES7's async/await
will help you with a charm 😉
Otherwise, you might use any approaches to call Promise chain sequentially.
Your second example is absolutely correct, you might minimize code, like following:
bot.command('start', (ctx) => ctx.replyWithHTML("Hello")
.then(() => ctx.replyWithHTML("This"))
.then(() => ctx.replyWithHTML("Should"))
.then(() => ctx.replyWithHTML("Send"))
.then(() => ctx.replyWithHTML("Sequentially"))
.then(() => ctx.replyWithHTML("This"))
)
PS: But this is not guarantee that messages arrive to user sequentially, it's really depends on Telegram servers logic.
from telegraf.
Dear dotcypress,
Thank you for extremely speedy reply!
Just to check, the syntax of
bot.command('start', (ctx) => ctx.replyWithHTML("Hello")
.then(() => ctx.replyWithHTML("One"))
.then(() => ctx.replyWithHTML("Two"))
)
be the same as
bot.command('start', (ctx) => ctx.replyWithHTML("Hello")
.then(() => {
return ctx.replyWithHTML("One")
}).then(()=>{
return ctx.replyWithHTML("Two")
})
)
or would it be the same as
bot.command('start', (ctx) => ctx.replyWithHTML("Hello")
.then(() => {
ctx.replyWithHTML("One")
}).then(()=>{
ctx.replyWithHTML("Two")
})
)
Does putting the return
keyword make a difference?
Hope to hear from you soon!
from telegraf.
Hey 😃
We massively use Promises in Telegraf, and when you omit return
keywork in last example - you just break Promise chain, and you will have similar result as in following example:
bot.command('start', (ctx) => {
ctx.replyWithHTML("Hello")
ctx.replyWithHTML("One")
ctx.replyWithHTML("Two")
})
As you see, you lose all Promise
benefits here. 😉
from telegraf.
@joshuaquek btw, good article about asynchronous js.
from telegraf.
Dear dotcypress,
ok, thank you!!! (:
Your answers have been super helpful!
from telegraf.
Related Issues (20)
- Bot API 7.0 Support HOT 9
- not working even without any code TelegramError: 404: Not Found HOT 9
- Introduce 'deletemessages' Method for Efficient Bulk Message Deletion HOT 1
- KeyboardButtonRequestChat is not supported in Telegraf 4.15.3 HOT 3
- Attach a webapp or url or image into answerInlineQuery doesn't work: BUTTON_TYPE_INVALID HOT 1
- Property 'match' does not exist for commands HOT 2
- markdownv2 not working HOT 1
- Lambda deployment need trigger /start after period of time in group HOT 1
- Allow all Context implicit params to be overrideable in `extra`
- First Scene execute two times Scenes.WizardScene HOT 3
- Composer.reaction method not working on new release 4.16.0 HOT 2
- BUG] type error when sending message using Web page preview option HOT 2
- Getting ETIMEDOUT while running Telegraf bot in docker container with network mode host HOT 14
- Type 'FilteredContext<Ctx, Filter>' does not satisfy the constraint 'Context<Update>' HOT 2
- `ctx.wizard.step` could unwrap before return
- Slow code suggestions in Telegraf 4.16.X after update HOT 8
- Missing date in forward_origin HOT 2
- First reaction to channel post triggers `edited_channel_post` update HOT 3
- `reply_parameters` doesn't work in `Context.replyWithPhoto` HOT 1
- Bot API 7.2 support HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from telegraf.