Node js中的条件承诺

帕尼·库玛(Phani Kumar)

如何在没有嵌套promise的情况下调用条件promise并执行其余代码,而不管条件statisfy是否

        findAllByServiceProviderLocationId(serviceProviderLocationId, supplierId)
    .then(result => {
    // 1. set all the default values
    ChargesAdminController._setDefaultValues(result);
    //Based on some condition in result - i need to call new promise
    //If condition satisfy, do promise operation and continue executing. is there better way to do apart from nested promise`enter code here`
    //Ex:
    if(result.checkPricing){
        DBConnection.getPricing(result)
     }
        //some operations on result object before sending response - All these operations should run only after the conditional promise is fulfilled 
    })
jfriend00

这种类型的逻辑最简单,async/await因为您可以编写更传统的顺序代码流逻辑。

async function myFunc() {
    let result = await someFunc1();
    if (result.whatever === something) {
         // asynchronous operation inside the if statement
         await someFunc2();
    }
    // code here that gets executed regardless of the above if
    let someOtherResult = await someFunc3();
    return someResult;
}

如果没有async/await,则必须进行一些嵌套,但仅适用于有条件的嵌套:

function myFunc() {
    return someFunc1().then(result => {
        if (result.whatever === something) {
            // asynchronous operation inside the if statement
            return someFunc2();
        } else {
            return somethingElse;
        }
    }).then(thing => {
        // code here that gets executed regardless of the above if statement
        return someFunc3();
    });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node.js中的承诺蓝鸟的麻烦

来自分类Dev

Node JS 从多个承诺中获取值

来自分类Dev

了解node.js中对递归函数的承诺

来自分类Dev

如何正确调试node.js中的简单承诺?

来自分类Dev

承诺中的 Node.js mysql 错误处理

来自分类Dev

如何在 node.js 模块中嵌入承诺?

来自分类Dev

更新Node js承诺函数中变量的值

来自分类Dev

Node.js对象承诺

来自分类Dev

Node JS:如何承诺 For 循环

来自分类Dev

如何在Node.js的回调中编写承诺的承诺?

来自分类Dev

承诺中的 Node.js 承诺不等待循环返回数据

来自分类Dev

Node.js承诺使用mongoskin

来自分类Dev

Node.js Q承诺多个参数

来自分类Dev

node.js-控制承诺队列

来自分类Dev

Node JS问题,并承诺在完成之前返回

来自分类Dev

未兑现的承诺-Express Node JS

来自分类Dev

Node.js承诺使用mongoskin

来自分类Dev

Node.js承诺:获取并保存结果

来自分类Dev

Node JS无法解析承诺数组

来自分类Dev

蓝鸟的node.js承诺循环架构

来自分类Dev

node.js以承诺方式遍历GET

来自分类Dev

Node.JS Express承诺问题

来自分类Dev

Node.js 打破承诺链

来自分类Dev

Node.JS - 承诺异步/等待示例

来自分类Dev

node.js:使用 await 消费承诺

来自分类Dev

如何使用node.js中的本机承诺全局处理异常?

来自分类Dev

Node.js Express路由/控制器中基于单元测试承诺的代码

来自分类Dev

我想通过使用node.js完成所有承诺后在mongodb中插入数据

来自分类Dev

捕获到的承诺中未处理的捕获错误-Node.js