关于promise的问题
function f() { return new Promise(resolve => { setTimeout(function() { resolve(); }, 1000); }) } function f() { return new Promise(function (resolve){ resolve(); }) }
我把箭头函数改为下面的函数,并去掉定时器的写法对吗?
new Promise是一个实例对象,接收的是函数参数,然后执行匿名函数,当函数的参数是resolve时,执行resolve()方法。我理解的对吗?那么resolve()方法是js自带的吗,它是怎么来的?
17
收起
正在回答 回答被采纳积分+1
2回答
好帮手慕码
2019-10-17 12:04:23
同学你好!
1.改写是可以的,但是定时器的作用是默认1s之后获取数据。如果去掉定时器,就没有1s获取数据这个效果了,是一次都获取到的。
2.理解的是大致是可以的。Promise的构造函数接收一个参数,这个参数是一个函数,此函数可以传入两个参数:resolve,reject,分别表示异步操作执行成功后的回调函数和异步操作执行失败后的回调函数;
如果参数只有一个resolve的话,执行的是resolve方法,但是有时候参数是两个resolve,reject,主要看执行resolve方法,还是执行reject方法,就比如这种写法:
3.这两个方法是Promise自带的哦~
如果帮助到了你,欢迎采纳,祝学习愉快~
4.Vue与React高级框架开发
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星