// let promise = new Promise(function(resolve, reject) {
// console.log('Promise');
// resolve();
// });
// promise.then(function() {
// console.log('Resolved.');
// });
// console.log('Hi!');
function loadImgAsync(url) {
return new Promise(function(resolve, reject) {
var image = new Image();
image.onload = function() {
resolve(image);
};
image.onerror = function() {
reject(new Error('could not load' + url));
};
image.src = url;
});
}
console.log(loadImgAsync('https://www.douban.com/photos/photo/2445256308/#image'));
var getJSON = function(url) {
var promise = new Promise(function(resolve, reject) {
var client = new XMLHttpRequest();
client.open('GET', url);
client.onreadystatechange = handler;
client.responseType = 'json';
client.setRequestHeader('Accept', 'application/json');
client.sent():
function handler() {
if (this.readyState !== 4) {
return;
}
if (this.status === 200) {
resolve(this.response);
} else {
reject(new Error(this.statusText));
}
};
});
return promise;
};
getJSON('/posts.json').then(function(json) {
console.log('contents:' + json);
}, function(error) {
console.error('error', error);
});
console