我有一条条件if
语句,其逻辑需要包装在一个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的新手,正在努力解决这个问题。我该如何解决?
答案 0 :(得分:1)
只需将其包装到新的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
})
答案 1 :(得分:0)
这个问题还不清楚。根据我的理解,这是答案。一旦承诺被解决或被拒绝,您就无法在内部运行代码。
new Promise((res, rej) => {
if (false) {
}
res();
console.log('More code') // this will not run
}).then(() => {
console.log('This will run')
})