![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Promise
ArthurHsing
前端菜鸟
展开
-
nodejs promisify
const fs = require('fs');const promisify = (asyncFn) => { return (...args) => { return new Promise((res, rej) => { args.push((err, data) => { if (err) { rej(err); } else { res(data); }原创 2020-12-05 19:01:21 · 722 阅读 · 0 评论 -
Promise源码分析记录
1.Promise最基本resolve,reject, then的功能是怎么实现的?promise有三个状态,PENDING、FULFILLED和REJECTED,Promise的构造函数会接受一个executor回调函数参数,这个回调函数参数会立即被调用,并传入另外两个参数,即resolve和reject函数,它们分别接收一个value和一个reason参数,这两个函数是定义在Promise的构造函数里面的,resolve函数的功能就是将当前Promise的状态由PENDING改为FULFILLED,然原创 2020-12-05 18:00:32 · 162 阅读 · 0 评论 -
javascript promise 抛出错误时的陷阱
// Throwing an error will call the catch method most of the timevar p1 = new Promise(function(resolve, reject) { throw new Error('Uh-oh!');});p1.catch(function(e) { console.error(e); // "Uh-oh!"});// Errors thrown inside asynchronous functions w原创 2020-09-08 09:30:46 · 812 阅读 · 0 评论 -
Promise细小知识点梳理
1.Promise用于解决异步流程化的问题2.Promise的构造函数主要用于包装不支持Promise的函数3.Promise.all方法的参数是一个可迭代对象(iterable),也就是说传入一个String也可以4.Promise.all当且仅当传入的可迭代对象为空时为同步(Promise.all的3.4两个特点在Promise的其它静态方法中也类似)var p = Promise.all([]); // will be immediately resolvedvar p2 = Promis原创 2020-12-01 21:24:55 · 562 阅读 · 0 评论