/ / Nie można znaleźć nazwy Obietnica Angular2 - kątowa

Nie można znaleźć nazwy Obietnica Angular2 - kątowa

Jestem nowy w tym i prowadzę samouczek. Mój kod jest dosłownie z samouczka wideo, który działa, ale mój kod nie jest "dostaję błąd" Nie mogę znaleźć nazwę "Obietnica" i nie mogę zrozumieć dlaczego. Czy ktoś ma pomysł, dlaczego otrzymuję ten błąd?

import {Control} from "angular2/common"

export class UsernameValidators{
static shouldBeUnique(control: Control){

return new Promise ((resolve) => {

setTimeout(function(){
if(control.value == "andy")
resolve({shouldBeUnique: true})
else
resolve(null);
}, 1000);

});

}
static cannotContainSpace(control: Control){
if (control.value.indexOf(" ") >=0)
return {cannotContainSpace: true};
return null;

}
}

Odpowiedzi:

0 dla odpowiedzi № 1

JEŚLI nie możesz znaleźć nazwy "Promise"., W większości zmieniłeś niektóre pliki w konfiguracji podstawowej lub możesz nie zakończyć instalacji pakietu węzłów. typings pakiet już.

rozwiązanie:

  • sklonuj następujące repozytorium https://github.com/angular/quickstart
  • biegać npm install w katalogu projektu i upewnij się, że zakończyło się pomyślnie
  • teraz skopiuj i skonfiguruj foldery projektu aplikacji do sklonowanego nowego folderu teraz to zadziała idealnie.

0 dla odpowiedzi nr 2

Wygląda na to, że używasz wersji beta Angular2. Następująca odpowiedź zakłada, że ​​używasz:

    "@angular/common": "2.0.0",
"@angular/compiler": "2.0.0",
"@angular/core": "2.0.0",
"@angular/forms": "2.0.0",
"@angular/http": "2.0.0",
"@angular/platform-browser": "2.0.0",

Pod warunkiem, że korzystasz z Angulara 2.0.0 lub nowszego, możesz wykonać następujące czynności:

import { FormControl } from "@angular/forms";
import { Promise } from "./path/to/node_modules/es6-promise";

export class UsernameValidators {
static shouldBeUnique(control: FormControl) {

return new Promise((resolve) => {

setTimeout(function () {
if (control.value === "andy")
resolve({ shouldBeUnique: true });
else
resolve(null);
}, 1000);

});

}
static cannotContainSpace(control: FormControl) {
if (control.value.indexOf(" ") >= 0)
return { cannotContainSpace: true };
return null;

}
}