繁体   English   中英

在 then/catch 之前执行 function(例如 finally)/catch in javascript

[英]execute a function (e.g. finally) before then/catch in javascript

我正在开发electron 我的项目有以下代码片段:

showLoading('confirm')
    api.deliveries.create(NewDelivery.createDelivery()).then((insertId) => {
        NewDelivery.back()
        showAlert('alert-success', 'Delivery Saved!', 'Delivery ID: ' + insertId)
    }).catch((error) => {
        eid('message').innerText = 'Delivery not saved. Try again later or contact the developer'
        throw error
    }).finally(() => {
        finishLoading('confirm')
        $('#confirmModal').modal('hide')
    })

当块成功执行时,会调用NewDelivery.back ,它会从DOM中删除 id 为 'confirm' 和 'confirmModal' 的元素,从而破坏我的应用程序。 我的问题是,有没有办法在调用thencatch之前执行finally块? 谢谢你。

你只需要重新排序链...

 Promise.resolve('do somthing').finally(() => console.log('finally called')).then(() => console.log('successfull')).catch(() => console.log('error!'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM