文档章节

nodejs promise for q.js

别人说我名字很长
 别人说我名字很长
发布于 2014/06/07 09:17
字数 209
阅读 4039
收藏 4
点赞 0
评论 0

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
博文 243
码字总数 97391
作品 0
济南
程序员
為什麼 Node.js 不適合大型和商業專案?

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

临江仙卜算子 ⋅ 05/25 ⋅ 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 ⋅ 1

《奇舞周刊》是由奇舞团维护的前端技术周刊。除周五外,每天向大家推荐一篇前端相关技术文章,每周五向大家推送周刊汇总内容。

↑ 编者按:本文由 AlekoLau 翻译并发表于众成翻译平台 Promise.prototype.finally() 最近达到了 TC39 提案的 第 4 阶段 。这意味着 Promise.prototype.finally() 提案被采纳成为 ECMAScript...

奇舞周刊 ⋅ 06/09 ⋅ 0

Node.js 7.0安装体验和示例代码解读

Node.js 7.0安装体验和示例代码解读 菜神 @fundon 大晚上不睡觉,放毒:https://github.com/pauliusuza/node-v7-async-await-demo?utmcontent=buffer9bce9&utmmedium=social&utmsource=twit......

i5ting ⋅ 2016/10/19 ⋅ 2

Sequelize 5.0.0-beta.7 发布,基于 Nodejs 的 ORM 框架

Sequelize 5.0.0-beta.7 发布了,此次更新内容如下: fix(data-types/blob): only return null for mysql binary null #9441 fix(errors): use standard .original rather than .raw for ac......

雨田桑 ⋅ 05/29 ⋅ 0

多人BLOG系统--ANS Angularjs NstormJs web framework v 0.4.2

Q.js流程化编程模型 DEMO: http://ans.wvovo.com/ 安装方法:npm install 将 conf/config-default.js 更改为 config.js 运行程序 node app.js 运用框架 mongodb(Mongoose) , Nodejs , Expre......

kenzr ⋅ 2013/10/16 ⋅ 1

三个分享——异步流程控制 / Modern Node.js/Java项目如何与Node.js共存

分享1《深入浅出js(Node.js)异步流程控制》 StuQ分享专题《深入浅出js(Node.js)异步流程控制》 InfoQ 前端之巅分享 精简版 摘要 目前在js流程控制领域越来越乱,各种派系。。。比如promi...

i5ting ⋅ 2016/07/18 ⋅ 6

Hprose 2.0.0 for Node.js 发布,高性能跨语言RPC

Hprose 2.0.0 for Node.js 终于发布了。这是一个里程碑版本,针对开发者进行了多项改进。 Hprose 2.0 for Node.js 不但比以往任何版本都快。而且还新增了许多特征: 增加了数据推送的支持。 ...

andot ⋅ 2015/08/11 ⋅ 0

浏览器说:虽然都叫event loop,但是我和node不一样

讨论event loop要做到以下两点 首先要确定好上下文,nodejs和浏览器的event loop是两个有明确区分的事物,不能混为一谈。 其次,讨论一些js异步代码的执行顺序时候,要基于node的源码而不是自...

我是家碧 ⋅ 06/04 ⋅ 0

Node.js 的 SQLite 教程

在本教程中,我将演示如何结合sqlite3 Node.js驱动程序在Node.js环境中使用SQLite。 对于那些不熟悉SQLite的人来说,它是一个简单的单文件关系数据库,在智能设备,嵌入式系统甚至小型Web应用...

oschina ⋅ 05/31 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部