Difficulty: 5/10async iteration, Symbol.asyncIterator, for await...ofSymbol.asyncIterator is the method that returns an async iterator. for await...of calls this method and awaits each next() promise until done is true.Custom async iterableCopyScenario Questions0-2 years experience1How would you turn a plain object that holds an array of numbers into something you can loop over with for await...of to yield each number?2If you try to use for await...of on an object that doesn't define Symbol.asyncIterator, what error do you see at runtime?2-5 years experience1We have a Node.js readable stream that emits chunks of data. Describe how you'd wrap it as an async iterable so callers can use for await...of, and note any trade‑offs you consider.Follow-up QuestionsWhat happens if the iterator's next() returns a plain value instead of a promise?How does an exception thrown inside an async generator affect a for await...of loop?Can you make a synchronous iterator work with for await...of, and why might you avoid that?Suggest Improvement