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;
        }
    }
  • 相关阅读:
    node-log4js3.0.6配置
    MySQL命令学习
    64位 windows10,MYSQL8.0.13重置密码(忘记密码或者无法登录)
    64位 windows10,安装配置MYSQL8.0.13
    vscode切换界面布局
    一个网站同时监听两个端口
    javascript +new Date()
    es6 解构
    react列表数据显示
    访问禁止,检测到可疑访问,事件编号
  • 原文地址:https://www.cnblogs.com/jayinnn/p/10400822.html
Copyright © 2011-2022 走看看