单个异步处理:

let usedMemoryPromise = fetchUsedMemeory();
usedMemoryPromise.then(data => {...}) function fetchUsedMemeory(){
return new Promise( function(resolve){
let clusterId = $("#cluster-id").val();
invokeJsonRpc(RDS_CONFIG.APOLLO_CMDB_ENDPOINT_V3,
"query.aggregate",
{
graph: `graph g { redisCluster: RedisCluster[ id = "${clusterId}" ];}`,
fields: [["redisCluster.name", "redisCluster.id", "redisCluster.used_memory"]]
}).then(resp => {
let usedMemory = resp.result.children[0].data["redisCluster.used_memory"];
resolve(usedMemory);
})
});
}

多个异步同时处理:

async function findXdcrRelation(state, bucketId) {
const xdcrSourcePromise = invokeJsonRpc(RDS_CONFIG.APOLLO_CMDB_ENDPOINT_V3,
"query.resource",
{
graph: `g {
x: CouchbaseXDCR;
s: CouchbaseBucket [id=${bucketId}];
x ~> @source_bucket ~> s;}`,
target: 0
});
const xdcrTargetPromise = invokeJsonRpc(RDS_CONFIG.APOLLO_CMDB_ENDPOINT_V3,
"query.resource",
{
graph: `g {
x: CouchbaseXDCR;
s: CouchbaseBucket [id=${bucketId}];
x ~> @target_bucket ~> s;}`,
target: 0
});
let [xdcrSourceData, xdcrTargetData] = await Promise.all([xdcrSourcePromise, xdcrTargetPromise]);
const hasError = (xdcrSourceData.hasOwnProperty("error") && xdcrTargetData.hasOwnProperty("error"));
if (!hasError && (xdcrSourceData.result.length > 0 || xdcrTargetData.result.length > 0)) {
state.hasXdcrRelation = true;
}
}

Promise的两种处理异步的方式的更多相关文章

  1. redis笔记之两种持久化备份方式(RDB & AOF)

    Redis支持的两种持久化备份方式(RDB & AOF) redis支持两种持久化方式,一种是RDB,一种是AOF. RDB是根据指定的规则定时将内存中的数据备份到硬盘上,AOF是在每次执行命 ...

  2. Windows Azure VM的两种shut down 方式

    今天在调查Azure的价格时,发现下面的语句,来自http://azure.microsoft.com/en-us/pricing/details/virtual-machines/ * If my ...

  3. 两种隐藏元素方式【display: none】和【visibility: hidden】的区别

    此随笔的灵感来源于上周的一个面试,在谈到隐藏元素的时候,面试官突然问我[display: none]和[visibility: hidden]的区别,我当时一愣,这俩有区别吗,好像有,但是忘记了啊,因 ...

  4. Linux共享库两种加载方式简述

      Linux共享库两种加载方式简述  动态库技术通常能减少程序的大小,节省空间,提高效率,具有很高的灵活性,对于升级软件版本也更加容易.与静态库不同,动态库里面的函数不是执行程序本身 的一部分,而是 ...

  5. android环境下两种md5加密方式

    在平时开发过程中,MD5加密是一个比较常用的算法,最常见的使用场景就是在帐号注册时,用户输入的密码经md5加密后,传输至服务器保存起来.虽然md5加密经常用,但是md5的加密原理我还真说不上来,对md ...

  6. Form表单中method=post/get两种数据传输的方式的区别

    Form提供了两种数据传输的方式——get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响.虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一 ...

  7. 两种数据传输的方式——get和post。

    Form提供了两种数据传输的方式——get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响.虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一 ...

  8. Xamarin Android Fragment的两种加载方式

    android Fragment的重点: 3.0版本后引入,即minSdk要大于11 Fragment需要嵌套在Activity中使用,当然也可以嵌套到另外一个Fragment中,但这个被嵌套的Fra ...

  9. nginx 和 tp兼容pathinfo和rewrite两种url访问方式

    环境:centos7,yum安装的nginx1.10.php-fpm,tp3.2 本方法只需要配置nginx.conf的一个文件就可以支持pathinfo和rewrite两种url访问方式 vim / ...

随机推荐

  1. 微信公众平台开发教程(一)_微信接入校验以及token获取

    微信公众平台是运营者通过公众号为微信用户提供资讯和服务的平台,而公众平台开发接口则是提供服务的基础. 接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 ...

  2. Python中的sys.path.append()

    当我们导入一个模块时:import  xxx,默认情况下python解析器会搜索当前目录.已安装的内置模块和第三方模块 当运行脚本文件和导入模块不再同一目录下 import sys sys.path. ...

  3. 【论文速读】Shitala Prasad_ECCV2018】Using Object Information for Spotting Text

    Shitala Prasad_ECCV2018]Using Object Information for Spotting Text 作者和代码 关键词 文字检测.水平文本.FasterRCNN.xy ...

  4. RTSP-RTMP-HLS媒体播放管理

    近在跟一些做安防行业同学交流中发现,他们对于外网中播放各类视频流觉得各种设置麻烦的很, 好吧,小小的做了一个解决方案. 这个工具从视频监控管理平台剥离出来, 支持对rtsp, rtmp, hls流的管 ...

  5. python itertools 模块

    Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数 首先,我们看看itertools提供的几个“无限”迭代器: >>> import itertools ...

  6. 安利一款强大的学习软件XMind(顺便放上这几天制作的JavaSE的思维导图day1-day4)

    最近在学习Java,并且在使用一款非常酷炫无敌吊炸天的软件,思维导图制作神器-XMind,然后就像分享给大家,至于XMind是什么大家自行百度,在这里我就不赘述了 我这里说下我认为的好的实用的常用快捷 ...

  7. Fetch和ajax的比较和区别

    传统 Ajax 已死,Fetch 永生   Ajax 不会死,传统 Ajax 指的是 XMLHttpRequest(XHR),未来现在已被 Fetch 替代. 最近把阿里一个千万级 PV 的数据产品全 ...

  8. jQuery之Deferred对象P2

    转自 https://www.cnblogs.com/losesea/p/4415676.html deferred对象是jQuery对Promises接口的实现.它是非同步操作的通用接口,可以被看作 ...

  9. delphi 利用 InterlockedCompareExchange 实现主线程维一锁等待

    在进行资源锁定时,一般是线程之间进行交互,很少需要在主线程也对资源进行锁定. 不过在一些复杂的业务中,存在子线程与主线程的交互,且一些资源也同步在主线程中使用时,主线程资源锁,就有存在的必要. 假定有 ...

  10. HTTP简单解析

    一.简介 HTTP是一种基于TCP/IP的超文本传输协议,用于从WWW服务器传输超文本到本地浏览器. HTTP是一种基于客户端/服务器(C/S架构)的无状态.无连接.媒体独立的传输协议. HTTP是一 ...