JsEcma6之Promise简单试用2208011958
// promise,then,感觉就像先调用再定义一样
// resolve和reject只能执行其中一个,只能传递一个参数, resolve对应then的参数1,
// 如果像这样reject调用在resolve之前, 则resolve不会被调用
测试代码
<!doctype html><html lang="zh"><head><meta charset="utf-8"/><title>Promise2208011958</title><script>
setTimeout(()=>prompt("setTimeout是异步的,所以会先看到hello"),6000);
prompt("hello , 上方的setTime是异步的, 所以先看到prompt hello 了");
new Promise(function(resolve, reject){
setTimeout(function(){
// promise,then,感觉就像先调用再定义一样
// resolve和reject只能执行其中一个,只能传递一个参数, resolve对应then的参数1,
// 如果像这样reject调用在resolve之前, 则resolve不会被调用
reject("执行了reject , 只能放一个参数,给后面的then的第二个回调用");
resolve("执行了resolve , 只能放一个参数,给后面的then的第一个回调用 ");
},1000);
}).then(function(a){
confirm(a);
},function(a){
confirm(a);
});
</script></head><body>
<pre style="font-size:30px">
// promise,then,感觉就像先调用再定义一样
// resolve和reject只能执行其中一个,只能传递一个参数, resolve对应then的参数1,
// 如果像这样reject调用在resolve之前, 则resolve不会被调用
</pre>
</body></html>