文档章节

Promise记录

iPhone
 iPhone
发布于 2015/04/04 19:21
字数 161
阅读 8
收藏 0

 利用Q模块实现函数串行和并行的使用,上代码

 var Q = require("q");

function test(value) {
    var d = Q.defer();
    d.resolve(value);
    return d.promise;
}
function test1(value) {
    var d = Q.defer();
    d.reject(value);
    return d.promise;
}
并行计算汇总
Q.all([
    test(10),//执行三个函数
    test(20),
    test1(40)
])
    .spread(function (x, y, z) {//三个函数返回的三个值
        console.log(x, y, z);
        return x + y + z;
    }, function (err) {
        console.log(err);
    })
    .done(function (str) {//完成前面的后执行
        console.log(str)
    });

//串行计算
test(10)
    .then(function (data) {
        return test(data + 10);
    }, function (error) {
        var d = Q.defer();
        d.reject(error);
        return d.promise;
    })
    .then(function (data) {
        //return test(data + 10);
        var d = Q.defer();
        d.reject(data);
        return d.promise;
    }, function (error) {
        var d = Q.defer();
        d.reject(error);
        return d.promise;
    })
    .then(function (data) {
        console.log(data);
    }, function (error) {
        console.log("err:"+error);
    })

© 著作权归作者所有

共有 人打赏支持
iPhone
粉丝 0
博文 7
码字总数 2946
作品 0
海口
私信 提问
Nodejs 中使用 Async/Await

// a. 在函数体前通过关键字async可以将函数变为async函数 // b. 在async函数中对需要异步执行的函数前需加await关键字 // c. await后的函数必须使用Promise对象封装 // d. async函数执行后返...

slagga
11/26
0
0
JavaScript Promise 学习记录(一)

JavaScript Promise 学习记录(一) 本文首先介绍了promise的三种状态及生成不同状态promise方法,然后介绍了promise的回调处理方法then,分析了不同情况下then函数返回的promise状态。最后通过...

kkdev163
2017/11/27
0
0
ES2017异步函数现已正式可用

ES2017标准已于2017年6月份正式定稿了,并广泛支持最新的特性:异步函数。如果你曾经被异步 JavaScript 的逻辑困扰,这么新函数正是为你设计的。 异步函数或多或少会让你编写一些顺序的 Java...

powertoolsteam
2017/08/21
0
0
一步一步实现一个符合PromiseA+规范的Promise库(1)

今天我们来自己手写一个符合PromiseA+规范的Promise库。大家是不是很激动呢?? 我们都知道。在现在的前端开发中,Promise这个东西基本上所有的开发中都会用到。 那必然有些萌新就会问了,P...

change_117b
03/11
0
0
ES6 async-await函数记录

含义 async 函数是什么?一句话,它就是 Generator 函数的语法糖。 async函数对 Generator 函数的改进,体现在以下四点: 1. 内置执行器 Generator 函数的执行必须靠执行器,所以才有了co模块...

前端大白
05/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[转载]重磅消息:误区陷阱、软件分类和GNU

stallman376032123 Non classé 16 octobre 2018 2 Minutes (注:对原文有精简) GPL、AGPL 并非最严格的许可证,详情请继续阅读本篇文章。可能很多人看到本文好多字,被字数吓得关闭网页,...

ICE冰焰火灵X
24分钟前
0
0
Impala和Hive集成Sentry、Kerberos认证

关于 Kerberos 的安装和 HDFS 配置 kerberos 认证,请参考 HDFS配置kerberos认证。 关于 Kerberos 的安装和 YARN 配置 kerberos 认证,请参考 YARN配置kerberos认证。 关于 Kerberos 的安装和...

hblt-j
32分钟前
1
0
Ubuntu 18.04 PostgreSQL 11 apt 默认安装某些问题解析

首先默认安装软件(本文以PostgreSQL 11.1为例,其他版本类似)。 sudo apt install postgresql-11 等待软件自动安装并完成配置,启动服务。 服务状态如下: vmware@vmware-virtual-machine:...

白豆腐徐长卿
45分钟前
1
0
一步步动手实现高并发的Reactor模型 —— Kafka底层如何充分利用多线程优势去处理网络I/O与业务分发

一、从《Apeche Kafka源码剖析》上搬来的概念和图 Kafka网络采用的是Reactor模式,是一种基于事件驱动的模式。熟悉Java编程的读者应该了解Java NIO提供了Reactor模式的API。常见的单线程Jav...

Anur
49分钟前
1
0
数字信号处理各种处理及图象

https://wenku.baidu.com/view/b1bb67f1f90f76c661371a75.html?sxts=1544696459935

whoisliang
52分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部