![](/img/trans.png)
[英](node:52585) UnhandledPromiseRejectionWarning: Unhandled promise rejection
[英](node:2256) UnhandledPromiseRejectionWarning: Unhandled promise rejection
我想用 nodejs 做一個 whatapp 機器人。 我想補充一個論點。 我的代碼是這樣的:
case 'brainly':
const args = process.argv
brainly(args).then(res => {
for(var i=0; i<res.length; i++){
var jawab = res[i].jawaban
client.sendText(from, jawab[0].text)
}
})
break
但是,當我運行它時,它顯示如下錯誤:
(節點:7960)UnhandledPromiseRejectionWarning:未處理的 promise 拒絕。 此錯誤源於在沒有 catch 塊的情況下拋出異步 function,或者拒絕未使用 .catch() 處理的 promise。
如何解決這個問題? 請幫我。
這意味着在異步上下文中的某處,很可能在通過調用brainly(args)
創建的 promise 內部,發生了錯誤,並且沒有被捕獲和處理。
要開始使用異步 Javascript,我建議查找一些有關Javascript Promises 和異步函數(隱式生成 promises,並允許使用await
語法)的文章。
沒有真正簡單的方法來解釋。 Javascript 是一種單線程語言,但它通過使用回調、promises 和 async/await 語法(它們都源自回調)提供了出色的並發性。 任何不會立即發生的事情,例如網絡/磁盤操作,都是異步的,必須以適當的方式處理。 這可能會讓新手感到困惑,因為它打破了線性異步執行流程。
承諾是可以創建的對象,將來會解決或拒絕。 通過在 promise 上調用.then
,您將給它一個回調 function ,當它最終到達時,將使用已解析的值調用該回調。 您還應該在末尾添加一個.catch(err => {... })
處理程序來處理錯誤,由於您傳遞的 arguments 可能出於某種原因拋出錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.