new Promise( (resolve, reject) =>
{ //先进入这里执行,把resolve/reject的东西压入队列,其他的同步 }).then();
let promise = new Promise( (resolve, reject) => {
resolve("fulfilled");//压入队列
console.log("后盾人");//1
});
promise.then( msg => {
console.log(msg);
} );
console.log("houdunren.com");//2
//输出顺序:后盾人,houdunren.com,fulfilled
-
new Promise 之后,会直接进入函数体执行
-
同步执行Promise内的函数体,但遇到resolve/reject这样的Promise相关函数要加入队列中等待
-
Promise的两个参数分别是resolve函数和reject函数
-
碰到resolve函数执行,Promise进入fulfilled状态,resolve的参数进入then的第一个函数,处理结果
-
碰到reject函数执行,Promise进入rejected状态,reject的参数进入then的第二个函数/catch内部,处理结果