Javascript 在函数外传递引用
我正在使用。有两个函数,Javascript 在函数外传递引用,javascript,asynchronous,react-native,promise,Javascript,Asynchronous,React Native,Promise,我正在使用。有两个函数,server.start()用于启动服务器,server.stop()用于停止服务器。 从函数启动服务器是在\u startServer()中完成的。但是,如何停止服务器(\u stopServer())?我不知道如何将对服务器的引用正确地传递到\u stopServer() 导出默认类Foo扩展组件{ _startServer=()=>{ server.start() 。然后((本地服务器)=>{ 这是我的国家({ 是的, localServer:localServer
server.start()
用于启动服务器,server.stop()
用于停止服务器。
从函数启动服务器是在\u startServer()
中完成的。但是,如何停止服务器(\u stopServer()
)?我不知道如何将对服务器的引用正确地传递到\u stopServer()
导出默认类Foo扩展组件{
_startServer=()=>{
server.start()
。然后((本地服务器)=>{
这是我的国家({
是的,
localServer:localServer
})
});
}
_stopServer=(refToServer)=>{
refToServer.stop();
}
...
render(){
返回(
这是。_startServer()}/>
这个。_stopServer(??}/>
)
}
}
通过此调用将localServer分配给组件的状态:
this.setState({
serverRunning: true,
localServer: localServer
})
因此,您可以使用this.state.localServer
获取服务器,并使用this.state.localServer.stop()停止服务器
大概是这样的:
_stopServer = () => {
this.state.localServer.stop();
}
通过以下调用将localServer分配给组件的状态:
this.setState({
serverRunning: true,
localServer: localServer
})
因此,您可以使用this.state.localServer
获取服务器,并使用this.state.localServer.stop()停止服务器
大概是这样的:
_stopServer = () => {
this.state.localServer.stop();
}
如果您可以简单地使用server.stop()
?@dfsq,那么为什么需要传递任何东西呢?因为我在\u startServer()中初始化了server
。当我试图在\u stopServer()
中访问server
时,server
超出范围(?),因此我无法调用server.stop()
然后将其存储为实例属性。@dfsq您的意思是this.setState({server:server})
?不,我是指实例属性this.server=…
。如果您可以简单地使用server.stop()
?@dfsq,那么为什么需要传递任何东西呢?因为我在中初始化了server
。当我试图在\u stopServer()
中访问server
时,server
超出范围(?),因此我无法调用server.stop()
然后将其存储为实例属性。@dfsq您的意思是this.setState({server:server})
?不,我是指实例属性this.server=…
。