我正在创建一个小项目与节点和木偶,但这并不重要。
重要的是我想从一个函数(下面的代码块是一个异步函数)返回一个值。 第一个事件总是发生在第二个事件之前,我希望返回这些事件发出的前两个值
client.on('Network.webSocketCreated', ({ url }) => {
const serverUrl = url
})
client.once('Network.webSocketFrameSent', ({ response }) => {
const credentials = JSON.parse(JSON.parse(response.payloadData)[0])
return [credentials, serverUrl]
})
在这个实现中,我得到了未定义,我如何修复它呢?
嗯,这是快速和吃水的方式
// Set it in parent scope
let serverUrl;
// This event firs
client.on('Network.webSocketCreated', ({ url }) => {
// Assign
serverUrl = url
})
client.once('Network.webSocketFrameSent', ({ response }) => {
const credentials = JSON.parse(JSON.parse(response.payloadData)[0])
// Use
return [credentials, serverUrl]
})
但是请记住,现在您试图返回事件函数内部的值。 我想这不是你想要的。 相反,您可以调用以下两个参数作为参数传递的函数:myfunction(credentials,serverUrl);