【JS】JavaScript Promise

代码举例

javascript 复制代码
	function test(resolve, reject) {
		let timeOut = Math.random() * 2;
		console.log("11")
		
		setTimeout(function() {
			if(timeOut < 1) {
				console.log("ok", timeOut)
				resolve("ok " + timeOut);
			}else {
				console.log("timeOut", timeOut)
				reject("error " + timeOut);
			}
		}, timeOut * 1000);
		console.log("22")
	}
	
	console.log("1");
	
	//方式1
	new Promise(test).then(result => {
		console.log("ok", result);
	}).catch(result => {
		console.log("error", result);
	})
	
	console.log("2");

方式1

javascript 复制代码
	new Promise(test).then(result => {
		console.log("ok", result);
	}).catch(result => {
		console.log("error", result);
	})

方式2

javascript 复制代码
	new Promise(test).then(
		(result) => {
			console.log("ok", result);
		},
		(error) => {
			console.log("error", error);
		}
	)

执行结果

注意

then, catch, finally 顺序不能颠倒。

相关推荐
chilavert31824 分钟前
技术演进中的开发沉思-356:重排序(中)
java·开发语言
竟未曾年少轻狂25 分钟前
Vue3 生命周期钩子
前端·javascript·vue.js·前端框架·生命周期
devmoon27 分钟前
为 Pallet 搭建最小化 Mock Runtime 并编写单元测试环境
开发语言·单元测试·区块链·智能合约·polkadot
不一样的少年_37 分钟前
Chrome 插件实战:如何实现“杀不死”的可靠数据上报?
前端·javascript·监控
Coder_Boy_41 分钟前
Java开发者破局指南:跳出内卷,借AI赋能,搭建系统化知识体系
java·开发语言·人工智能·spring boot·后端·spring
偶像佳沛42 分钟前
JS 对象
前端·javascript
Mr_Xuhhh1 小时前
介绍一下ref
开发语言·c++·算法
nbsaas-boot1 小时前
软件开发最核心的理念:接口化与组件化
开发语言
bjzhang751 小时前
使用 HTML + JavaScript 实现文件树
javascript·html·文件树
lsx2024061 小时前
Java 对象概述
开发语言