js promise(js promise 对象如何取值)
本文目录
js promise 对象如何取值
某函数返回的是 promise 对象, 取值取不到. 莫名想起来 then函数,果然 笨方法还是管用的:
js Promise 等待多个异步操作执行完再去做一些操作
在我们的程序中有些操作是需要等到一些接口的数据返回之后才能做的操作 比如我们在一个页面需要发送好几个请求,这几个请求都发送完了我们再去隐藏 loading效果,一开始我是这样操作的: 执行效果: 只是返回了 失败回调,这显然不是我们想要的效果 但是,我们写好的时候,使用 Promise.all()方法的时候,想起来,Promise.all()这个方法,只要这个方法的任意一个 promise有reject也就是失败状态的时候,promise 不管剩余的其他的promise 是否完成,就会停止当前的监听,那就有可能丢失当前的 其他请求的状态和结果,所以我们在写的时候,就应该考虑,我们当前promise的执行权是不是应该交给当前单个promise的回调具体应该怎么操作呢 执行效果: 然后我们判断,返回结果的 数组的长度是否等于传入数组的长度,就能知道请求是发送完成了(不管请求结果是怎样); 完!!
js中promise到底怎么用
我举个生活中的例子吧,比如说你去麦当劳买吃的,你下订单后,会给你一个小纸条,这个小纸条相当于你和麦当劳之间的约定,这个小纸条也可以理解为你所定的餐的一个占位符。等麦当劳饭做好了的时候,会吧饭送到你面前,并且把小纸条收走。
这个如果在代码中的话,就意味着,你在执行代码的时候,可能会在未来某个时刻才会取到值(异步),等在值取到以后,会进行一些相应的处理,比如说ajax,这实际上就是promise的一个典型的应用场景。
我刚刚只是说了promise的一个大的应用场景,我觉得只要能把握住这个,具体的API就可以了。
假如你想对它的使用有一个更深入的了解的话,我还可以推荐你一个小文章: Javascript基础之-Promise
加油
js中promise在什么场景用
有若干个异步任务,需要先做任务1,如果成功后再做任务2,任何任务失败则不再继续并执行错误处理函数。
要串行执行这样的异步任务,不用Promise需要写一层一层的嵌套代码。有了Promise,我们只需要简单地写:
job1.then(job2).then(job3).catch(handleError);
请采纳
js promise 能同步吗
用angularjs 的factory机制处理同步等待问题,可以同步等待取出结果,但是返回的promise对象,目前我只知道从promise.then的回调获取,但是我用同步的机制是解决window.open(url,’_blank’)会被拦截的问题,如果解析promise要在回调里面进行的话,window.open打开浏览器新的tab仍然会被拦截,请问其他的什么处理方法吗?
更多文章:
geforce gtx titan(geforcegtxtitanx接线)
2024年7月15日 23:14