在函数

时间:2017-11-13 11:33:16

标签: javascript asynchronous react-native promise

我正在使用https://github.com/futurepress/react-native-static-server。有两个函数server.start()用于启动服务器,server.stop()用于停止服务器。 从函数启动服务器是在_startServer()中完成的。但是,我如何停止服务器(_stopServer())?我不确定如何将对服务器的引用正确传递给_stopServer()

export default class Foo extends Component {

    _startServer = () => {
        server.start()
            .then((localServer) => {
                this.setState({
                    serverRunning: true,
                    localServer: localServer
                })
            });
     }

     _stopServer = (refToServer) => {
          refToServer.stop();
     }

     ...

     render() {
         return (
            <TouchableOpacity
                onPress={() => this._startServer()} />

            <TouchableOpacity
                onPress={() => this._stopServer(??)} />
         )
     }
}

1 个答案:

答案 0 :(得分:0)

通过此调用将localServer分配到组件的状态:

this.setState({
               serverRunning: true,
               localServer: localServer
           })

因此,您可以使用this.state.localServer获取服务器并使用this.state.localServer.stop()

停止服务器

类似的东西:

_stopServer = () => {
          this.state.localServer.stop();
     }