Promise
const posts=[
{title:'Post One', body:"this is post one"},
{title:'Post Two', body:"this is post two"}
]
function createPost(post){ //2秒后create post
return new Promise(function(resolve,reject){
setTimeout(function(){
posts.push(post);
const error = true;
if(!error){
resolve(); //成功的动作
}else{
reject(`Error: Something went wrong`); //失败的动作
}
},2000);
});
}
function getPosts(){
setTimeout(function(){ //1秒后get post
let output ="";
posts.forEach(function(post){
output+=`<li>${post.title}</li>`;
});
document.body.innerHTML=output;
},1000);
}
createPost({title:'Post Three', body:"this is post three"})
.then(getPosts)
.catch(function(err){
console.log(err);
});
Promise的function传入resolve和reject;
reject可被catch;
resolve可作为then之后的动作;
本文深入探讨了使用Promise进行异步编程的方法,展示了如何通过创建和处理Promise来管理异步操作,包括错误处理和成功回调的实现。
1299

被折叠的 条评论
为什么被折叠?



