Javascript的Nodejs的程序错误:回调必须为函数怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript的Nodejs的程序错误:回调必须为函数怎么解决?相关的知识,希望对你有一定的参考价值。

首先运行它显示了Callback must be a function,received undefined.错误,还指明了错误文件位置。
这是错误文件代码串
if (!stop)
while (this.buffer.length >= offset + size + value)
try
this.push(this.buffer.slice(offset + size, offset + size + value))
offset += size + value;
( value, size = readVarInt(this.buffer, offset))
catch (e)
if (e.partialReadError)
break
else throw e



主要错误聚集在 elsethrow e
他却说这不是一个函数,难不成要用到function吗?请问一下怎么修改?希望能帮修改一下谢谢qwq

参考技术A 您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!this关键字指向调用它的对象,test()是在GLOBAL中调用,而且异步函数回调应该形成了闭包,回调函数中的this也应该指向GLOBAL对象,而至于为啥this.vall是undefined,则是因为用var申明的变量都是局部变量,并不是GLOBAL变量的属性。

好好去看看javascript中this关键字指的对象和闭包的概念吧。希望能帮到你非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

是否可以运行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,你可以在那里什么也不做,它将被忽略(你的程序将继续)

另一答案

是的,您可以忽略回调/保证错误或吞下try / catch catch错误,但它只能使执行继续,而不是使行为或结果正确。

  1. 如果在回调函数中,您可以忽略具有空错误处理的错误,并且执行也不会中断,但是如果调用中存在错误,则行为仍然依赖于。
  2. 如果在承诺中,您也可以忽略捕获的错误。
  3. 如果采用异步/等待方式,则必须尝试/捕获调用并吞下捕获的错误。

总之,我建议你处理可能的错误。毕竟,质量软件是我们想要的。什么可能会发生最终会发生。

以上是关于Javascript的Nodejs的程序错误:回调必须为函数怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

nodejs异步回调函数中this问题,求助

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

nodejs中mysql断线重连

nodejs笔记

Nodejs 回调机制——哪个线程处理回调?

了解NodeJS中的回调函数