this.testPromise=function(){
return new Promise(function(resolve,reject){
console.log("testPromise start:");
resolve(true);
//這裏會將true傳到下一個then的參數s中
});
}
this.testPromise()
.then(function(s){
console.log("testPromise 1");
try{
var aa=123123;
aa='12aa312313';
adfd;
}
catch(e){
return false;
//由於adfd出錯會執行cath代碼塊,return 會跳出這個then而後傳遞false給下一個then,同時就不會再執行後面的if
}
if (s) {
console.log("testPromise 1 true");
Promise.resolve(false);
}
})
.then(function(s){
console.log("testPromise 2");
console.log(s);
//到這裏s的值就是false
});
這段代碼主要是給示例一下promise的執行流程和跳轉方法