Promise的妙用

Promise的妙用

1、返回已獲取的數據

在函數中獲取數據後,可以直接 return 一個 Promise ,然後在 then 函數中 return resolve() 即可返回一個新的 Promise

const arr = ['tom', 'jerry', 'john']
const sleep = async (ms) => {
	await new Promise(resolve => {
		setTimeout(resolve, ms)
	})
}

const getArr = () => {
	return new Promise(async (resolve, reject) => {
		await sleep(2000)
		const arrCopy = [...arr]
		return resolve(arrCopy)
	})
}

const testfn = () => {
	const result = getArr()
	if (result) {
		result.then(res => {
			console.log('res is ', res)
		})
	}
}

上面的 testfn 函數中 result 就是一個 Promise 對象。

參考

https://es6.ruanyifeng.com/#docs/promise

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章