文档章节

nodejs promise for q.js

别人说我名字很长
 别人说我名字很长
发布于 2014/06/07 09:17
字数 209
阅读 4041
收藏 4

q.js是一个比较不错的异步流程控制工具,今天看了点文档,写了几个dom,零碎的先记下,改日再整理

q.js的npm地址 https://www.npmjs.org/package/q

//Q 的使用一
var preadFile = function(file){
	var deferred = Q.defer();//
	fs.readFile(file, "utf8",function(err,data){			
		if(!err){
			deferred.resolve(data);//成功返回的数据
		}else{
			deferred.reject(err);//失败返回的错误信息
		}			
	});
	return deferred.promise;//必须返回这个
}

preadFile("foo.json").then(function (data) {//then方法有两个参数(成功回调,失败回调)
    console.log(data);
}, function (error) {	   
    console.error(error);
});


//Q 的 all组合方法(你可以把一系列promises到整个promises中)
function test(value) {
    return Q.delay(value, 1000);//延迟1秒
}

Q.all([
    test(10),//执行三个函数
    test(20),
    test(30)
])
.spread(function (x, y,z) {//三个函数返回的三个值
    console.log(x, y,z);
    return x+y+z;
})
.done(function(str){//完成前面的后执行
	console.log(str)
});



© 著作权归作者所有

共有 人打赏支持
别人说我名字很长
粉丝 55
博文 254
码字总数 103692
作品 0
济南
程序员
為什麼 Node.js 不適合大型和商業專案?

JavaScript 和 Node.js 一直都是這幾年的話題,無論是前端還是後端,到處都可見 JavaScript,就好像爬滿了你全身上下,他們不斷地對你說道「嘿!老兄!快來用我吧!」。 為什麼 Node.js 會這...

临江仙卜算子
05/25
0
0
DoraCMS本地路径不存在的错误

Error: Failed to lookup view "E:studynodejsDoraCMS-master/views/web/temp/doraGallery/public/do500" in views directory "E:studynodejsDoraCMS-masterviews" at EventEmitter.app.rend......

kisongo
2016/02/19
138
1
捕获未处理的Promise错误

译者按: 通过监听unhandledrejection事件,可以捕获未处理的Promise错误。 原文: Tracking unhandled rejected Promises 译者: Fundebug 为了保证可读性,本文采用意译而非直译,并且对源代...

Fundebug
2017/10/12
0
0
每天阅读一个 npm 模块(6)- pify

系列文章: 每天阅读一个 npm 模块(1)- username 每天阅读一个 npm 模块(2)- mem 每天阅读一个 npm 模块(3)- mimic-fn 每天阅读一个 npm 模块(4)- throttle-debounce 每天阅读一个 ...

elvinnn
09/04
0
0
初识JavaScript Promises之二

初始JavaScript Promises之二 上一篇我们初步学习了JavaScript Promises,本篇将介绍Promise如何优雅地进行错误处理以及提升操作node.js风格1的异步方法的逼格,没错就是使用promisify2。 异...

梵高
2014/07/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
29分钟前
1
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
44分钟前
4
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
3
0
Redis性能问题排查解决手册

一、性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。 nfo命令输出的数据可...

IT--小哥
昨天
1
0
mixin混入

①新建mixin.js文件 const mixin = { methods: { /** * 分页公共方法 */ handleSizeChange(val) { this.pageData.size = val; this.query(); }, hand......

不负好时光
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部