bluebird】的更多相关文章

nodejs-使用request和bluebird编写的http请求模块   http://blog.csdn.net/o6875461/article/details/44594545…
nodejs的所有调用几乎是全异步的,而所有的IO操作也都是通过回调函数才能知道结果. 如果一个异步调用依赖另一个异步调用,如果没有Promise的话,有可能陷入传说中的回调地狱. bluebird实现了将异步回调写法转变为链式写法,并且扩展出了catch.finally.bind等api,如catch可以帮我们集中处理每次查询的error. 网上找到的有关promise和bluebird的资料基本都是讲原理和理论,本文介绍的是bluebird实际使用例子.实操中,我们只用将需要使用链式的类和方…
本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/bluebirdsource 本博客同步在http://www.cnblogs.com/papertree/p/5328134.html 今天把 bluebird(2.9.0版) 的源码看了,写成博客记录一下. 1. 带上几个问题看源码 1. promise链是如何实现的? 2. promise对象如何变成fulfill状态,并触发promise链条的后续函数?new…
首先是github地址,可以用git克隆命令也可以直接在git页面下载 https://github.com/kazetotori/js-requireAsync 下载下来后目录结构是这样的 -package.json -index.js -node_modules --bluebird --jquery --requirejs requireAsync函数 requireAsync函数是index.js里定义的一个全局函数,该函数接受无限多个字符串参数,参数为需要加载的模块名或模块路径,路径不…
前两天公司一哥们写了一段node.js代码发给我,后面特意提了一句“写的不太优雅”.我知道,他意思是回调嵌套回调,因为当时比较急也就没有再纠结.然而内心中总记得要解决这个问题.解决node.js的回调金字塔问题有较多方法,在<深入浅出node.js>这本书中介绍了好几种,有事件发布/订阅模式.Promise模式.async库等.其中Promise模式被很多人推崇,实现的库有很多,本着从众的原则,闭着眼睛选个bluebird吧. 然而bluebird的文档并不咋滴,相当不咋滴!网上的例子基本上都…
var fs = require('fs') var Promise = require("bluebird") function file1() { return new Promise((resolve, reject) => { fs.writeFile('cc/file1.txt', 'file1', (err) => { if (err) { throw new Error() } console.log('ok1') resolve('ok1') }) }) }…
什么是promises? 为什么需要promises? 参见: https://promisesaplus.com/ 使用示例: 使用promises之前,代码的编写方式: 使用promises之后: 参考: 1. https://github.com/petkaantonov/bluebird 2. http://spion.github.io/posts/why-i-am-switching-to-promises.html 3. 如何优雅地crash你的nodejs app:  http:…
//引入promiseif(!Promise){ var Promise = require("bluebird"); // Configure Promise.config({ longStackTraces: true, warnings: true // note, run node with --trace-warnings to see full stack traces for warnings }) }…
var request = require("request"); var promise = require("bluebird"); //使用bluebird将request库的所有异步方法编译成promise形式,会自动加上Async后缀 request = promise.promisifyAll(request); var curl = (function () { function curl() { } /** * 输入一个url和需要post的数据(如…
前言 Promise:把原来的回调写法分离出来,在异步操作执行完后,用链式调用的方式执行回调函数. 在公众号的开发里面用的const Promise = require('bluebird');const request = Promise.promisify(require('request'));这两句代码,之前一直没弄明白是啥意思,后来发现这是将callback函数重新用promise来实现. 什么是 promisify和promisifyAll promisify 就是把带有 callb…