Eckige 2-äquivalent für $timeout

Habe ich (große Mengen) vorhandenen code in eine Eckige 2-Umgebung. Code macht umfangreichen Gebrauch von der $timeout service von AngularJS 1.x. Im Gegensatz zu verschiedenen anderen AngularJS 1.x-Dienste, sind im code verwendet, ich habe eine harte Zeit der Suche nach einem Informationen über eine Eckige 2-äquivalent für die $timeout service.

Den Winkel-docs scheint das nicht zu enthalten, jede Erwähnung einer Dienstleistung mit timeout-etwas in seinen Namen. Der Artikel Upgrade von AngularJS erwähnt, das Szenario bin ich vor:

Vielleicht wollen Sie Zugang zu AngularJS built-in-Dienste wie $location oder $timeout.

Leider ist der Artikel nicht wirklich erklären, wie der Zugriff auf diese besonderen Dienstleistungen, wie das nachfolgende Beispiel HeroesService übernimmt einen Dienst, ohne irgendwelche Abhängigkeiten geliefert von AngularJS 1.x.

Artikel wie diese eine empfehlen die Verwendung der nativen setTimeout - Funktion nicht Leben bis zu den Fähigkeiten des $timeout - Dienstleistungen.

Wie kann ich reproduzieren, die $timeout Funktionalität in das Eckige 2-Umgebung?

EDIT: Wie schon erwähnt in den Antworten, die Nachteile der native setTimeout Funktion nicht relevant sind bei der Verwendung von Winkel-2. In diesem Fall, wenn ich hatte die volle $q von AngularJS 1.x, ich könnte replizieren die $timeout Funktion die in etwa wie diese:

function $timeout(fn, delay) {
    var result = $q.defer();
    setTimeout(function () {
        $q.when(fn()).then(function (v) {
            result.resolve(v);
        });
    }, delay);
    return result.promise;
}
blog.neilni.com/2016/03/27/settimeout-in-angular-2
stackoverflow.com/a/44096451/8317956
Die delay - operator wird, um eine Observable, so würde ich Sie loswerden muss, um heben die Dinge wieder auf die richtige verspricht. Der erste link mit dem Zeiger auf Timer sieht vielversprechend aus, obwohl, vielleicht kann ich das Handwerk ein wrapper, der angezeigt wird, wie das original $timeout auf der Grundlage, dass. Ich Frage mich nur, warum kann ich nicht finden timer im Winkel-docs?

InformationsquelleAutor O. R. Mapper | 2017-08-16

Schreibe einen Kommentar