EAz*_*edo 0 javascript node.js
我有以下这段代码
new Promise((resolve, reject) => {
resolve(apiRequest(data))
reject(console.log('Error'))
}).then(response)
Run Code Online (Sandbox Code Playgroud)
两种方法(解决和拒绝)都被触发,但我只想在出现问题时调用拒绝。如果在这种情况下出现问题,我该如何抛出错误?
我检查过,但似乎我不能使用 If 语句来进行检查。
new Promise((resolve, reject) => {
const printResult = apiRequest(data)
console.log(printResult) //Outputs Promise {<pending>}
resolve(printResult) //Then it works
reject(console.log('Error'))
}).then(response)
Run Code Online (Sandbox Code Playgroud)
拒绝承诺的正确方法是什么?
最简单的方法是使用if条件。IE
new Promise((resolve, reject) => {
// do something...
if(somethingGoodHappened) {
resolve(data)
} else {
reject(error)
}
})
Run Code Online (Sandbox Code Playgroud)
但是通常在处理异步请求时,您调用的东西通常会返回一个承诺,因此您可以在那里附加then和catch回调。
apiRequest(data)
.then((result) => {
// all good
})
.catch((err) => {
console.log(err)
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
533 次 |
| 最近记录: |