首页 > TAG信息列表 > promise2
promise等待多个异步请求完毕后再执行其他代码的方法
//这里等promise执行,避免拿不到图片临时路径 const promise1 = new Promise((resolve, reject) => { uni.downloadFile({ url:that.bg_img, success:(res)=>{ resolve(res) } }) }); const promise2 = new Promise((resolve,axios请求超过定义时长则直接给结果提示
需求背景; 有个后端接口根据数据量需要花费几秒钟几分钟乃至十几分钟时间,不能让用户直接等待结果。给定时长10秒,超过没返回结果就直接提示结果会在某处公布;没超过就直接给结果。 这里用到promise.race const promise1 = new Promise((resolve, reject) => { //设定时长 setTipromise基本实现
Promise基本实现 promise state状态的描述 A promise must be in one of three states: pending, fulfilled, or rejected. 1),When pending, a promise:may transition to either the fulfilled or rejected state. 2),When fulfilled, a promise:must not transi基础题--promise练习题(1)
事件循环(event loop) 事件循环的过程 同步代码先进入执行栈(JavaScript是单线程,执行栈即主线程)执行,遇到异步代码,则放入宏任务队列或微任务队列 同步代码执行完,则微任务队列中的代码按先入先出的顺序从任务队列出来,进入执行栈,成为新的同步代码被执行 微任务队列为空,则将宏任务队列的Promise结合setTimeout--promise练习题(2)
Promise结合setTimeout 题目1 console.log('start') setTimeout(() => { console.log('time') }) Promise.resolve().then(() => { console.log('resolve') }) console.log('end')` 输出: start end resolve time 分析: 执行同步代码:手写一个Promise
经常在面试题中会看到,让你实现一个Promsie,或者问你实现Promise的原理,所以今天就尝试利用class类的形式来实现一个Promise 为了不与原生的Promise命名冲突,这里就简单命名为MyPromise. class MyPromise { constructor(executor) { let _this = this this.state = '[20190807] 回调函数与promise的写法
回调函数的写法: asyncFunction1(callback){ // ... asyncFunction2(callback){ // ... asuncFunction3(callback){ // ... } }} promise的写法 promise1.then( // ... return promise2).then( // .. return promispromise实现
promise实现 Promise 是 ES6 新增的语法,解决了回调地狱的问题。 可以把 Promise 看成一个状态机。初始是 pending 状态,可以通过函数 resolve 和 reject ,将状态转变为 resolved 或者 rejected 状态,状态一旦改变就不能再次变化。 then 函数会返回一个 Promise 实例,并且该返回值是一实现一个Promise
实现一个Promise promise特点 一个promise的当前状态只能是pending、fulfilled和rejected三种之一。状态改变只能是pending到fulfilled或者pending到rejected。状态改变不可逆。 支持链式调用。 (1) 原型方法 Promise.prototype.then = function() {}Promise.prototype.catch = fun