文档章节

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
海口
ES2017异步函数现已正式可用

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

powertoolsteam
2017/08/21
0
0
JavaScript Promise 学习记录(一)

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

kkdev163
2017/11/27
0
0
一步一步实现一个符合PromiseA+规范的Promise库(1)

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

change_117b
03/11
0
0
mpvue学习笔记-之微信小程序数据请求封装

简介 美团出品的mpvue已经开源出来很久了,一直说要进行一次实践,这不最近一次个人小程序开发就用上了它。 看了微信官方的数据请求模块--request,对比了下get和post请求的代码,发现如果在...

愿爱无忧dk_
05/31
0
0
深入理解javascript系列(十九):从Promise开始到async/await

什么是同步与异步的定义,在这里我就不做记录,直接用代码来表示它们之间的区别。 首先使用Promise模拟一个发起请求的函数,该函数执行后,会在1s之后返回数值30。 在该函数的基础上,我们也...

Panthon
06/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

基于TP5的微信的公众号获取登录用户信息

之前讲过微信的公众号自动登录的菜单配置,这次记录一下在TP5项目中获取自动登录的用户信息并存到数据库的操作 基本的流程为:微信设置自动登录的菜单—>访问的URL指定的函数里获取用户信息—...

月夜中徘徊
今天
0
0
youTrack

package jetbrains.teamsys.license.runtime; 计算lis package jetbrains.ring.license.reader; 验证lis 安装后先不要生成lis,要把相关文件进行替换 ring-license-checker-1.0.41.jar char......

max佩恩
今天
0
0
12.17 Nginx负载均衡

Nginx负载均衡 下面的dig看到可以返回2个IP,就是解析出来的IP,这样我们可以做负载均衡。 dig www.qq.com 1.vim /usr/local/nginx/conf/vhost/fuzai.conf 2.添加如下配置 upstream qq //定义...

芬野de博客
今天
0
0
SSE(Server Send Event 服务端发送事件)

package com.example.demo.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframe......

Canaan_
今天
0
0
jvm调优

1.jvm运行模式 client模式:启动快,占用内存少,jit编译器生成代码的速度也更快. server模式:主要优势在于代码优化功能,这个功能对于服务器应用而言尤其重要. tiered server模式:结合了client与...

Funcy1122
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部