মূল কনটেন্টে যান
🐹
emberjs learning
ব্লক ৩ — Async · দিন ০২৫–০৩০ · advanced

উৎসের সেকশন ১০ (Advanced Patterns) — ৫টা rule, দিনে একটা; শেষ দিনে ⚑। ব্লকের নাম Async, কারণ ইন্টারভিউ-বিষয়গুলোর তৃতীয়টা এর দুটো ember-concurrency rule থেকে; বাকি তিনটা helper, modifier আর reactive collection — সেকশন ভাঙা হয়নি বলে একসাথে।

Async•দিন ০২৫/৬৫

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