zoukankan      html  css  js  c++  java
  • Promise的两种处理异步的方式

    单个异步处理:

    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;
        }
    }
  • 相关阅读:
    07 监控100台服务器磁盘利用率
    算法提高 阮小二买彩票
    算法提高 日期计算
    算法提高 身份证号码升级
    算法提高 统计单词数
    算法提高 3000米排名预测
    算法提高 最长字符序列
    算法提高 种树
    算法训练 装箱问题
    算法训练 瓷砖铺放
  • 原文地址:https://www.cnblogs.com/jayinnn/p/10400822.html
Copyright © 2011-2022 走看看