gpt4 book ai didi

javascript - 未处理的 Promise 异常

转载 作者:行者123 更新时间:2023-12-03 00:18:33 27 4
gpt4 key购买 nike

我是 JavaScript 和 pubnub 新手。我正在尝试用 javascript 发布。以下是我的代码

const PubNub = require('pubnub')

const credentials = {
publishKey : 'pub-c-58dae4c4-4a11-4ff5-ad98-a69bf5c086bc',
subscribeKey : 'sub-c-5d1ca66a-2308-11e9-b712-2656c4b29a42',
secretKey : 'sub-c-5d1ca66a-2308-11e9-b712-2656c4b29a42'
}

const CHANNEL = {
TEST : 'TEST',
TESTTWO : 'TESTTWO',
BLOCKCHAIN : 'BLOCKCHAIN'
}

class PubSub {
constructor(blockchain) {
this.blockchain = blockchain;
this.pubnub = new PubNub(credentials);
this.pubnub.subscribe( { channel: [Object.values(CHANNEL)] });
this.pubnub.addListener( this.listener())
}

listener() {
return {
message: messageObject => {
const { channel, message } = messageObject
console.log("Message received on channel "+channel + ". Message is "+message);
if (channel === CHANNEL.BLOCKCHAIN) {
this.blockchain.replaceChain(parsedMessage);
}
}
}
publish( {channel, message}) {

this.pubnub.publish( {channel, message });
}

broadcastChain() {
this.publish( {
channel: CHANNEL.BLOCKCHAIN,
message: JSON.stringify(this.blockchain.chain)
})
}
}
module.exports = PubSub

我收到了一个未处理的 promise 异常。以下是错误日志:

(node:9456) UnhandledPromiseRejectionWarning: Error: Validation failed, check status for details
at new PubNubError (C:\Users\sagardeshpande.deshp\test_cryptochain\node_modules\pubnub\lib\core\components\endpoint.js:134:112)
at _class.exports.default (C:\Users\sagardeshpande.deshp\test_cryptochain\node_modules\pubnub\lib\core\components\endpoint.js:32:31)
at PubSub.publish (C:\Users\sagardeshpande.deshp\test_cryptochain\pubnub.js:58:25)
at PubSub.broadcastChain (C:\Users\sagardeshpande.deshp\test_cryptochain\pubnub.js:66:14)
at Timeout.setTimeout [as _onTimeout] (C:\Users\sagardeshpande.deshp\test_cryptochain\index.js:10:26)
at ontimeout (timers.js:436:11)
at tryOnTimeout (timers.js:300:5)
at listOnTimeout (timers.js:263:5)
at Timer.processTimers (timers.js:223:10)
(node:9456) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:9456) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code

有人可以帮忙吗?

最佳答案

我相信它在对你大喊大叫,因为它抛出了一个错误,而你没有捕获它。

this.pubnub
.publish( {channel, message })
.then(result => {
// you probably should handle this when successful?
})
.catch(error => { // catch the errors
console.log(error);
});

关于javascript - 未处理的 Promise 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54433325/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com