看了promise的用法,一直不明白里面的resolve和reject的用法;
运行了这两段代码之后彻底理解了promise的用法;
var p = new Promise(function (resolve, reject) { var timer = setTimeout(function () { console.log('执行操作1'); resolve('这是数据1'); }, 1000); }); p.then(function (data) { console.log(data); console.log('这是成功操作'); });
这里段代码放在chrome浏览器里执行,出现的第一行是Promise{<pending>}
然后再出现
执行操作1
这是数据1
这是成功操作
然后再次输入p 按回车执行
打印出来p是这样
Promise{<resolved>}
然后点开看 可以看到控制台提示promiseStatus :resolved 说明promise的状态已经成为了resolved
如果去掉异步里面的resolve函数调用, 则再次打印出来的状态仍然是pending; 说明resolve函数是可以改变promise状态的一个函数;
以上理解来自于博客:https://blog.csdn.net/weixin_41888813/article/details/82882375#commentBox