JsEcma6之Promise简单试用2208011958

49 阅读1分钟

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>