Chinaunix首页 | 论坛 | 博客
  • 博客访问: 41230
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-08 15:40
文章分类

全部博文(7)

文章存档

2016年(7)

我的朋友

分类: 敏捷开发

2016-07-07 09:59:36

Promise

在nodejs  上面一般 我自己使用的是 bluebird

安装 及使用

  1. npm i bluebird --save
  2. Promise = require 'bluebird'(coffee script)
为什么用promise md nodejs 基本上都是cb
大量的cb就像这样

点击(此处)折叠或打开

  1. func1("xxx", function (err,cb) {
  2.   // something
  3.   func2("xxx", function (err,cb) {
  4.     // something
  5.     func3("xxxx", function (err,cb) {
  6.       // something
  7.       ...
  8.     });
  9.   });
  10. });
丑的一比 不说还里面还有回调的坑
所以 promise 就来了


非promise方法promise化

  1. Promsie = new Promise()
  2. return new Promise (resolve,reject)->
  3.   func1 a,b,(err,cb)->
  4.     if err return reject(err)
  5.     else return resolve(cb)


promise function 的使用

  1. promiseFunc1(aValue)
  2. .then (obj)->
  3.   consle.log(obj)
  4. .catch (err)->
  5.   throw err
在这里使用了2个状态 一个是执行成功.then 一个是.cath 错误的时候 还有一个是返回进度 标准的promsie 是这样但是bluebirdjs 也封装了一些其他的方法  具体可以去看


2个不错的方法 
  1. .map 的使用方法: .map(传入参数【数组】,function(数组的值,第几位))
  2. .reduce的使用方法:(function(传入值,返回值,第几位),初始值) 这里是指针引用 所以 修改了 传入值就修改了 初始值


阅读(1441) | 评论(0) | 转发(0) |
0

上一篇:VS2015 openCV 的编译及使用

下一篇:没有了

给主人留下些什么吧!~~