最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

是否可以运行JavaScript(NodeJS)命令函数,如果出现错误,让程序继续运行?

IT培训 admin 2浏览 0评论

是否可以运行JavaScript(NodeJS)命令/函数,如果出现错误,让程序继续运行?

我想知道是否有一种方法可以在JavaScript中运行一个函数,如果运行该函数时出错,让程序忽略它?

player.play('./sounds/throughQueue.mp3', function(err){
                                   if (err) throw err
                                   })

非常喜欢这样没有“扔错误”。

该计划应该继续下去。

期待您的回答。

回答如下:

正如您在评论中提到的,您想知道如何处理异步函数错误;你可以这样做:

function myAsyncFunction(){
  return new Promise((resolve, reject) => {
    // do some async anction that returns error
    foo.asyncCall((err, item) => err && reject(err))
  }
}

myAsyncFunction().catch(e => console.error(e))

如果您观察上面的代码,则异步错误以两种样式处理:

  1. 回调函数通常有第一个arg返回错误,你可以做if (err)并在那里添加你想要的任何逻辑。或者只是忽略它。
  2. Promise中你可以使用reject,它是构造函数中的第二个参数。当你拒绝错误时,你可以在.catch上使用Promise方法并使用你想要的任何自定义逻辑,新的promise调用或函数回调。

注意我在回调函数中使用了console.error,你可以在那里什么也不做,它将被忽略(你的程序将继续)

是否可以运行JavaScript(NodeJS)命令/函数,如果出现错误,让程序继续运行?

我想知道是否有一种方法可以在JavaScript中运行一个函数,如果运行该函数时出错,让程序忽略它?

player.play('./sounds/throughQueue.mp3', function(err){
                                   if (err) throw err
                                   })

非常喜欢这样没有“扔错误”。

该计划应该继续下去。

期待您的回答。

回答如下:

正如您在评论中提到的,您想知道如何处理异步函数错误;你可以这样做:

function myAsyncFunction(){
  return new Promise((resolve, reject) => {
    // do some async anction that returns error
    foo.asyncCall((err, item) => err && reject(err))
  }
}

myAsyncFunction().catch(e => console.error(e))

如果您观察上面的代码,则异步错误以两种样式处理:

  1. 回调函数通常有第一个arg返回错误,你可以做if (err)并在那里添加你想要的任何逻辑。或者只是忽略它。
  2. Promise中你可以使用reject,它是构造函数中的第二个参数。当你拒绝错误时,你可以在.catch上使用Promise方法并使用你想要的任何自定义逻辑,新的promise调用或函数回调。

注意我在回调函数中使用了console.error,你可以在那里什么也不做,它将被忽略(你的程序将继续)

发布评论

评论列表 (0)

  1. 暂无评论