ব্লক ৩ — Async · দিন ০২৫–০৩০ · advanced
উৎসের সেকশন ১০ (Advanced Patterns) — ৫টা rule, দিনে একটা; শেষ দিনে ⚑। ব্লকের নাম Async, কারণ ইন্টারভিউ-বিষয়গুলোর তৃতীয়টা এর দুটো ember-concurrency rule থেকে; বাকি তিনটা helper, modifier আর reactive collection — সেকশন ভাঙা হয়নি বলে একসাথে।
Use Ember Concurrency Correctly - User Concurrency Not Data Loading
এই দিনের কাজ · মোট ১০′০/১ (০%)
- Use Ember Concurrency Correctly - User Concurrency Not Data Loading — নিচের Incorrect কোড পড়ে, না দেখে ঠিক সংস্করণটা লিখুন; তারপর "কেন" ইংরেজিতে ২–৩ বাক্যে জোরে বলুন, আর খাতায় এক লাইন: নিজের কাজে এটা কোথায় দেখেছেন
Incorrect (using ember-concurrency for data loading with tracked state):
// app/components/user-profile.gjs import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; import { task } from 'ember-concurrency'; class UserProfile extends Component { @tracked userData = null; @tracked error = null; // WRONG: Setting tracked state inside task loadUserTask = task(async () => { try { const response = await fetch(`/api/users/${this.args.userId}`); this.userData = await response.json(); // Anti-pattern! } catch (e) { this.error = e; // Anti-pattern! } }); <template> {{#if this.loadUserTask.isRunning}} Loading... {{else if this.userData}} <h1>{{this.userData.name}}</h1> {{/if}} </template> }১০′🔁 ঝালাই হবেimpact · HIGHCorrect: আগে নিজে লিখুন
দিন শেষে — নিজেকে যাচাই
না দেখে ঠিকটা লেখা, আর "কেন" ইংরেজিতে জোরে বলা হয়েছে?
উত্তরের আগে উপরের কাজ না দেখে মনে করুন এই দিনে কী কী করেছেন। 🧠 Test yourself