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