Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase og('未找到驱动程序') this.loadingCtrl.Disclose(); 解析('未找到驱动程序') } }_Firebase_Firebase Realtime Database_Ionic4 - Fatal编程技术网

Firebase og('未找到驱动程序') this.loadingCtrl.Disclose(); 解析('未找到驱动程序') } }

Firebase og('未找到驱动程序') this.loadingCtrl.Disclose(); 解析('未找到驱动程序') } },firebase,firebase-realtime-database,ionic4,Firebase,Firebase Realtime Database,Ionic4,因此,当您获得了最初的驱动程序列表时,您就可以启动它,然后每次驱动程序拒绝时,它都会检查是否还有其他驱动程序,然后调用自己: // ASK NEXT DRIVER if(i < sortedDriversAray.length) { this.askNextDriver(sortedDriversAray, i++); }

因此,当您获得了最初的驱动程序列表时,您就可以启动它,然后每次驱动程序拒绝时,它都会检查是否还有其他驱动程序,然后调用自己:

                // ASK NEXT DRIVER
                if(i < sortedDriversAray.length) {
                    this.askNextDriver(sortedDriversAray, i++);
                }
                // END ASK NEXT DRIVER
//询问下一个驱动程序
如果(i
askNextDriver(sortedDriversAray, i) {
    console.log('handling driver: '+sortedDriversAray[i].id);

    // while(inProgress);  
    // inProgress = true;   

    if(sortedDriversAray[i].availability === true && this.rejecters.indexOf(sortedDriversAray[i]) <= -1 && sortedDriversAray[i].request == undefined){
      console.log('driver '+sortedDriversAray[i].id + ' is available and hasnt rejected,sending request')

          this.driversRef.child(`${sortedDriversAray[i].id}`).update({ request: request }).then(()=>{
            // watch driver and update changes
            this.driversRef.child(`${sortedDriversAray[i].id}`).on("value",response=>{
              let driverResponse = response.val().request
              if(driverResponse == undefined){
                console.log('driver '+sortedDriversAray[i].id+' just rejected,adding him to array');
                this.rejecters.push(sortedDriversAray[i].id);
                console.log(this.rejecters);

                // ASK NEXT DRIVER
                if(i < sortedDriversAray.length) {
                    this.askNextDriver(sortedDriversAray, i++);
                }
                // END ASK NEXT DRIVER

                // inProgress = false;
              }else if(driverResponse.accepted == true){
                console.log('yay! driver '+sortedDriversAray[i].id+' just accepted');
                // this.trackDriver(closestDriver.id)
                // resolve(true) 
              }
            })
          })
      }else{
      console.log('no drivers found')
      this.loadingCtrl.dismiss();
      resolve('no driver found')
      }
}
                // ASK NEXT DRIVER
                if(i < sortedDriversAray.length) {
                    this.askNextDriver(sortedDriversAray, i++);
                }
                // END ASK NEXT DRIVER