深入浅出 Promise
Promise 是什么?Promise 怎么用?
Last updated
Promise 是什么?Promise 怎么用?
Last updated
const promise = new Promise(function(resolve, reject) {
// ... some code
if (/* 异步操作成功 */){
resolve(value);
} else {
reject(error);
}
});function loadImageAsync() {
return new Promise(resolve, reject) {
const image = new image();
image.onload = faunction() {
resolve(image);
}
image.onError() {
reject(new Error(`Could not load image at ${url}`);
}
image.src = url;
}
}const getJSON = function(url) {
const promise = new Promise(resolve, reject) {
const handle = function () {
if (this.readyState !== 4) {
return;
}
if (this.status === 200) {
resolve(this.response);
} else {
reject(this.statusText);
}
};
const client = new XHLHttpRequest();
client.open("GET", url);
client.onreadystatechange = handle;
client.responseType = "json";
client.setRequestHeader("Accept", "application/json");
client.send();
}
return promise;
}
getJson('/data.json').then(function(json) {
console.info(`Json: ${json});
}, function(err) {
console.error('出错了:', err)
})