//基本用法
const promise = new Promise(function (resolve, reject) { //resolve和reject由JavaScript引擎提供,不用自己部署
//somecode
if (/* 异步操作成功 */1) {
resolve(value) //将promise对象的状态由未完成(padding)变为完成(fullfile)
} else {
reject(error) //将promise对象的状态由未完成(padding)变为失败(rejected)
}
})
// 创建好Promise实例之后,用.then方法风别指定 fullfile状态 和 rejected状态 的回调函数
promise.then(function (value) {
//success 变为resolve时调用
}, function (error) {
//error 变为rejected时调用
})
//小例子
function timeout(ms) {
return new Promise(function (resolve, rejected) {
setTimeout(resolve, ms, 'done')
})
}
timeout(1100).then((value) => {
console.log(value)
})
promise建立后立即执行 且 promise.then的函数将在当前脚本所有同步任务执行完成之后才会执行,
let promise = new Promise((resolve, rejected) => {
console.log('promise新建了') //1
resolve()
})
promise.then(function () {
console.log('resolve') //3
})
console.log('hi') //2
promise基础学习笔记
最新推荐文章于 2024-07-10 22:11:08 发布