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
對象。