本文整理汇总了TypeScript中angular2/src/facade/promise.PromiseCompleter类的典型用法代码示例。如果您正苦于以下问题:TypeScript PromiseCompleter类的具体用法?TypeScript PromiseCompleter怎么用?TypeScript PromiseCompleter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PromiseCompleter类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: get
get(templateUrl: string): Promise<string> {
let completer: PromiseCompleter<string> = PromiseWrapper.completer(),
parsedUrl = url.parse(templateUrl);
http.get(templateUrl, (res) => {
res.setEncoding('utf8');
// normalize IE9 bug (http://bugs.jquery.com/ticket/1450)
var status = res.statusCode === 1223 ? 204 : res.statusCode;
if (200 <= status && status <= 300) {
let data = '';
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
completer.resolve(data);
});
} else {
completer.reject(`Failed to load ${templateUrl}`, null);
}
// consume response body
res.resume();
}).on('error', (e) => {
completer.reject(`Failed to load ${templateUrl}`, null);
});
return completer.promise;
}
示例2: get
get(url: string): Promise<string> {
var completer: PromiseCompleter < string >= PromiseWrapper.completer();
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'text';
xhr.onload = function() {
// responseText is the old-school way of retrieving response (supported by IE8 & 9)
// response/responseType properties were introduced in XHR Level2 spec (supported by IE10)
var response = isPresent(xhr.response) ? xhr.response : xhr.responseText;
// normalize IE9 bug (http://bugs.jquery.com/ticket/1450)
var status = xhr.status === 1223 ? 204 : xhr.status;
// fix status code when it is 0 (0 status is undocumented).
// Occurs when accessing file resources or on Android 4.1 stock browser
// while retrieving files from application cache.
if (status === 0) {
status = response ? 200 : 0;
}
if (200 <= status && status <= 300) {
completer.resolve(response);
} else {
completer.reject(`Failed to load ${url}`, null);
}
};
xhr.onerror = function() { completer.reject(`Failed to load ${url}`, null); };
xhr.send();
return completer.promise;
}
示例3: get
get(templateUrl: string): Promise<string> {
const completer: PromiseCompleter<string> = PromiseWrapper.completer();
const parsedUrl = url.parse(templateUrl);
http.get(parsedUrl, (res) => {
res.setEncoding('utf8');
const status = res.statusCode;
if (200 <= status && status <= 300) {
let data = '';
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
completer.resolve(data);
});
} else {
completer.reject(`Failed to load ${templateUrl}`, null);
}
// consume response body
res.resume();
}).on('error', (e) => {
completer.reject(`Failed to load ${templateUrl}`, null);
});
return completer.promise;
}
示例4: function
xhr.onload = function() {
// responseText is the old-school way of retrieving response (supported by IE8 & 9)
// response/responseType properties were introduced in XHR Level2 spec (supported by IE10)
var response = isPresent(xhr.response) ? xhr.response : xhr.responseText;
// normalize IE9 bug (http://bugs.jquery.com/ticket/1450)
var status = xhr.status === 1223 ? 204 : xhr.status;
// fix status code when it is 0 (0 status is undocumented).
// Occurs when accessing file resources or on Android 4.1 stock browser
// while retrieving files from application cache.
if (status === 0) {
status = response ? 200 : 0;
}
if (200 <= status && status <= 300) {
completer.resolve(response);
} else {
completer.reject(`Failed to load ${url}`, null);
}
};
示例5:
http.get(parsedUrl, (res) => {
res.setEncoding('utf8');
const status = res.statusCode;
if (200 <= status && status <= 300) {
let data = '';
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
completer.resolve(data);
});
} else {
completer.reject(`Failed to load ${templateUrl}`, null);
}
// consume response body
res.resume();
}).on('error', (e) => {
示例6:
}).on('error', (e) => {
completer.reject(`Failed to load ${templateUrl}`, null);
});
示例7:
fs.readFile(parsedUrl.path, (err, data) => {
if (err) {
return completer.reject(`Failed to load ${templateUrl} with error ${err}`);
}
completer.resolve(data.toString());
});