Выполняйте функции вместе - PullRequest
       1

Выполняйте функции вместе

0 голосов
/ 24 сентября 2019

У меня есть сомнения, как выполнять две функции одновременно.Я думаю, что я должен использовать Promise.All (), но я не знаю, как использовать.

У меня есть код, структурированный таким образом:

scan1(){
this.manager.startDeviceScan(null, null, (error, device) => {
      if (error) {
        return;
      }
      if (
        (device.name == this.model_dx(this.props.Model)) ||
        (device.name == this.model_sx(this.props.Model))
      ) {
        this.setState({ deviceId1: device.id });
        this.manager.stopDeviceScan();
        this.setState({deviceName1: device})
        console.log("(this.state.deviceName1 = device:): " + this.state.deviceName1);
        device
          .connect()
          .then(() => {
            console.log(" ");
            this.scan2();
       //..code...

scan2(){
this.manager.startDeviceScan(null, null, (error, device) => {
      if (error) {
        return;
      }
      if (
        (device.name == this.model_sx(this.props.Model)) ||
        (device.name == this.model_dx(this.props.Model))
      ) {
        this.manager.stopDeviceScan();
        this.setState({ deviceId2: device.id });
        this.setState({deviceName2: device})
        device
          .connect()
          .then(() => {
            this.deviceService1(this.state.deviceName1);
            this.deviceService2(this.state.deviceName2);
       // .... code.... 

deviceService1(device) {
    console.log("device.name: " + device.name)
    if (device.name == this.model_dx(this.props.Model) ||
      device.name == this.model_sx(this.props.Model)) { 
      device
        .discoverAllServicesAndCharacteristics()
        .then(() => {
          console.log("(this.setupNotifications1")
          this.setupNotifications1(device);
        })
        //... code..

  deviceService2(device) {
    console.log("device.name: " + device.name)
    if (device.name == this.model_sx(this.props.Model) ||
      device.name == this.model_dx(this.props.Model)) { 
      device
        .discoverAllServicesAndCharacteristics()
        .then(() => {
          console.log("(this.setupNotifications2")
          this.setupNotifications2(device);
        })
       //... code...

В двух функциях setupNotifications1 (устройство) и setupNotifications2 (устройство) я восстанавливаю данные с внешнего устройства.Проблема здесь заключается в том, что я восстанавливаю данные сначала с устройства, а затем с другого, поэтому у меня есть больше данных с первого устройства.

Теперь, как я могу выполнить эти две функции setupNotification вместе?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...