从事件返回值
Returning value from event
我正在用 node 和 puppeteer 创建一个小项目,但这没关系。
重要的是我想 return 一个函数的值(下面的代码块是一个异步函数)。
第一个事件总是发生在第二个事件之前,我想 return 这些事件发出的前两个值
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]
})
但请记住,现在您正试图 return 在事件函数中赋值。这不是你想要的我想。相反,您可以调用一些函数,将这两个参数作为参数传递:myFunction(credentials, serverUrl);
我正在用 node 和 puppeteer 创建一个小项目,但这没关系。
重要的是我想 return 一个函数的值(下面的代码块是一个异步函数)。 第一个事件总是发生在第二个事件之前,我想 return 这些事件发出的前两个值
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]
})
但请记住,现在您正试图 return 在事件函数中赋值。这不是你想要的我想。相反,您可以调用一些函数,将这两个参数作为参数传递:myFunction(credentials, serverUrl);