javascript - 如何将条件语句包装在 Promise 中

标签 javascript node.js promise

我有一个条件if语句 who 的逻辑需要包裹在一个 Promise 中作为 if 之后的逻辑只能在它之后执行。

// WRAP 'if' statement below IN A PROMISE
if (a) { // could be true or false. If false, resolve the promise
    // logic here
}

.then(
    // execute logic after if here
)

我是 Nodejs 新手,正在尝试解决这个问题。我该如何解决这个问题?

最佳答案

只需将其包装到一个新的 Promise 中即可:

new Promise((resolve, reject) => {
   if(a){
      reject("error");
   } else {
     resolve(yourData);
   }       
})
.then(data => {
 // Do stuff
})
.catch(err => {
  // You should catch here an error rejected above
})

关于javascript - 如何将条件语句包装在 Promise 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53995390/

相关文章:

javascript - $http.get 请求仅在首页加载时成功

javascript - ajax promise 数据未定义

javascript - 如何编写适用于 Promise.resolve() 的 Promise 的 polyfill?

javascript - 什么?三元运算符意味着使用 react 和 javascript?

javascript - Aurelia 单选按钮绑定(bind)

javascript - 如何在 Mongoose 中获得多个结果并将其合并为一个响应

javascript - NodeJs 中的参数未通过 Request 传递

Perl Mojolicious : chaining Promises

javascript - 使用开发者 API 获取 Soundcloud 'liked' 播放列表

javascript - 使用 JavaScript 更改单元格的值