Books (. TypeScript), ajax-. , , ajax, , Books. promise, . JQuery Deferred Object, $.ajax ( 1.5).
- HasLoaded DeferredURI. " ", .. Library, Library .
export class Library {
private _loadedBooks: Book[];
public get Books(): any {
var result: any = null;
if(this.HasLoaded) {
result = $.Deferred();
result.resolve(this._loadedBooks);
}
else {
result = $.ajax(this.DeferredURI)
.done((values) => {
this.HasLoaded = true;
this._loadedBooks = values;
});
}
return result;
}
}
Books :
var library = new Library();
library.Books.done((books: Book[]) => {
});
, , / Books . , - loadBooksAsync(). , , , - .