📰 IT NachrichtenAnthropic C.E.O. Dario Amodei Calls for A.I. Slowdown(12.09.2026 um 18:03 Uhr)
🔧 AI Nachrichten Etzioni on AI: What kids tell chatbots, but not you(04.09.2026 um 16:05 Uhr)
📰 IT NachrichtenAnthropic C.E.O. Dario Amodei Calls for A.I. Slowdown(12.09.2026 um 18:03 Uhr)
🔧 AI Nachrichten Etzioni on AI: What kids tell chatbots, but not you(04.09.2026 um 16:05 Uhr)

🔧 Programmierung 🕛 vor 7 Monaten 3 Min Lesezeit
0

Coding Challenge Practice - Question 107

↗ Quelle (dev.to)
🗣️ Stimme:

The task is to implement the Observable from.



The boilerplate code




CODE
function from(input) {
// your code here
}






from() creates an Observable from an array, an array-like object, a Promise, an iterable, or an observable-like object. It does not emit immediately and decides how to emit values based on the type of input.



If the input type is an observable-like object, the values flow directly to the new observer.




CODE
if (input && typeof input.subscribe === "function") {
return new Observable(observer => input.subscribe(observer));
}






If the input type is a promise, if it resolves, it emits one value and calls complete(). If it rejects, it calls error()




CODE
if (input && typeof input.then === "function") {
return new Observable(observer => {
let cancelled = false;

input.then(
value => {
if (!cancelled) {
observer.next(value);
observer.complete && observer.complete();
}
},
err => !cancelled && observer.error && observer.error(err)
);

return () => {
cancelled = true;
};
});
}






If the input type is iterable, each value is emitted via next in a synchronous loop. Call complete after iteration.




CODE
if (input && Symbol.iterator in Object(input)) {
return new Observable(observer => {
try {
for (const item of input) {
observer.next(item);
}
observer.complete && observer.complete();
} catch (err) {
observer.error && observer.error(err);
}
});
}






If the input type is a non-iterable array-like object




CODE
  if (input && typeof input === "object" && typeof input.length === "number") {
return new Observable(observer => {
try {
for (let i = 0; i < input.length; i++) {
observer.next(input[i]);
}
observer.complete && observer.complete();
} catch (err) {
observer.error && observer.error(err);
}
});
}






If the input is invalid, throw an error




CODE
throw new TypeError("Input type not supported");






The final code




CODE
function from(input) {
// your code here
if(input && typeof input.subscribe === "function") {
return new Observable(observer => input.subscribe(observer))
}

if(input && typeof input.then === "function") {
return new Observable(observer => {
let cancelled = false;

input.then(
value => {
if(!cancelled) {
observer.next(value);
observer.complete && observer.complete()
}
},
err => !cancelled && observer.error && observer.error(err)
)
return () => {
cancelled = true;
}
})
}
if(input && Symbol.iterator in Object(input)) {
return new Observable(observer => {
try {
for(const item of input) {
observer.next(item);
}
observer.complete && observer.complete();
} catch (err) {
observer.error && observer.error(err);
}
})
}
if(input && typeof input === "object" && typeof input.length === "number") {
return new Observable(observer => {
try {
for(let i = 0; i < input.length; i++) {
observer.next(input[i]);
}
observer.complete && observer.complete()
} catch (err) {
observer.error && observer.error(err);
}
})
}
throw new TypeError("Input type not supported");
}






That's all folks!

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
2 Quellen
Premier League Soccer: Stream Chelsea vs. Hull City Live From Anywhere
1 Quelle
Anthropic C.E.O. Dario Amodei Calls for A.I. Slowdown
1 Quelle
Inside the Discussions at AI Companies Over a Superintelligence Doomsday
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Coding Challenge Practice - Question 107

Thematisch verwandte Begriffe: Coding, Challenge, Practice, Question · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...