基本使用方法
实例Promise对象
const promise = new Promise(function(resolve, reject) {
// ... some code
if (/* 异步操作成功 */){
resolve(value);
} else {
reject(error);
}
});
使用Promise对象
promise.then(function(value) {
// success
}, function(error) {
// failure
});
例子1
function timeout(ms) {
return new Promise((resolve, reject) => {
setTimeout(resolve, ms, 'done');
});
}
timeout(100).then((value) => {
console.log(value);
});
例子2
// 新建一个带参数的函数
var fn = function (name,age) {
// 返回一个Promise对象
return new Promise((resolve,reject) => {
// 成功之后运行res函数,并接收fn函数的参数
resolve(`姓名:${name}年龄:${age}`);
// 失败之后,执行的内容
reject('发送了错误')
})
}
// Promise实例生成以后,可以用then方法分别指定resolved状态和rejected状态的回调函数。
// 调用fn函数,并传入参数
fn('kyle','33')
.then(res => {
// 接收成功的参数
console.log(res)
},err => {
// 接收失败参数
console.log(err)
})