當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript Q.all函數代碼示例

本文整理匯總了TypeScript中Q.all函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript all函數的具體用法?TypeScript all怎麽用?TypeScript all使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了all函數的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: findPlistFile

    public findPlistFile(): Q.Promise<string> {

        return Q.all<any>([
            this.plistBuddy.getBundleId(this.projectRoot), // Find the name of the application
            this.nodeChildProcess.exec("xcrun simctl getenv booted HOME").outcome, // Find the path of the simulator we are running
            ]).spread((bundleId: string, pathBuffer: Buffer) => {
                const pathBefore = path.join(pathBuffer.toString().trim(), "Containers", "Data", "Application");
                const pathAfter = path.join("Library", "Preferences", `${bundleId}.plist`);

                // Look through $SIMULATOR_HOME/Containers/Data/Application/*/Library/Preferences to find $BUNDLEID.plist
                return this.nodeFileSystem.readDir(pathBefore).then((apps: string[]) => {
                    Log.logInternalMessage(LogLevel.Info, `About to search for plist in base folder: ${pathBefore} pathAfter: ${pathAfter} in each of the apps: ${apps}`);
                    const plistCandidates = apps.map((app: string) => path.join(pathBefore, app, pathAfter)).filter(filePath =>
                        this.nodeFileSystem.existsSync(filePath));
                    if (plistCandidates.length === 0) {
                        throw new Error(`Unable to find plist file for ${bundleId}`);
                    } else if (plistCandidates.length > 1) {
                        TelemetryHelper.sendSimpleEvent("multipleDebugPlistFound");
                        Log.logWarning(ErrorHelper.getWarning("Multiple plist candidates found. Application may not be in debug mode."));
                    }

                    return plistCandidates[0];
                });
            });
    }
開發者ID:CarlosVV,項目名稱:vscode-react-native,代碼行數:25,代碼來源:simulatorPlist.ts

示例2: it

 it('cannot approve when transaction needs reconstructing', function() {
   let approvals = [];
   return Q.all([
     createTransactionPendingApproval(),
     createTransactionPendingApproval()
   ])
   .spread(function(approval1, approval2) {
     approvals = [approval1, approval2];
     return bitgoSharedKeyUser.pendingApprovals().get({ id: approval1.id() });
   })
   .then(function(result) {
     return result.approve({ walletPassphrase: TestBitGo.TEST_PASSWORD, otp: bitgo.testUserOTP() });
   })
   .then(function(result) {
     result.state.should.eql('approved');
     const approval2 = approvals[1];
     return bitgoSharedKeyUser.pendingApprovals().get({ id: approval2.id() });
   })
   .then(function(result) {
     return result.approve({ otp: bitgo.testUserOTP() });
   })
   .then(function() {
     throw new Error('approval success');
   })
   .catch(function(error) {
     error.message.should.equal('unspents expired, wallet passphrase or xprv required to recreate transaction');
   });
 });
開發者ID:BitGo,項目名稱:BitGoJS,代碼行數:28,代碼來源:pendingapproval.ts

示例3: should

                .then(initState => {
                    const asyncTests = initState.allSails.map(sail => {

                        const newSailNid = sail.id;

                        return instance.setSailId(initState, newSailNid)
                            .then(resultState => {


                                should(resultState.selectedSailId).be.exactly(newSailNid);

                                should(resultState.selectedCabin.sailId).be.exactly(newSailNid);


                                should(resultState.cabinGridSelect.inside.sailId).be.exactly(newSailNid);
                                should(resultState.cabinGridSelect.outside.sailId).be.exactly(newSailNid);
                                should(resultState.cabinGridSelect.balcony.sailId).be.exactly(newSailNid);
                                should(resultState.cabinGridSelect.suite.sailId).be.exactly(newSailNid);

                                resultState.cabintypeSelect.forEach(item => {
                                    should(item.sailId).be.exactly(newSailNid);
                                });

                                should(resultState.sailSelect.some(e => e.id === newSailNid)).be.ok();

                            });
                    });

                    Q.all(asyncTests)
                        .then(r => done())
                        .catch(done);
                });
開發者ID:GauSim,項目名稱:angular1-rx-text,代碼行數:32,代碼來源:StoreDispatchers.Sepc.ts

示例4: reviseDataSources

  reviseDataSources(newSettings: AppSettings): Q.Promise<any> {
    const { verbose, logger } = this;
    var oldSettings = this.appSettings;
    var tasks: Q.Promise<any>[] = [];

    var oldNativeDataSources = oldSettings.getDataSourcesForCluster('native');
    var newNativeDataSources = newSettings.getDataSourcesForCluster('native');
    updater(oldNativeDataSources, newNativeDataSources, {
      onExit: (oldDataSource) => {
        if (oldDataSource.engine === 'native') {
          this.removeFileManager(oldDataSource);
        } else {
          throw new Error(`only native datasources work for now`); // ToDo: fix
        }
      },
      onUpdate: (newDataSource) => {
        logger.log(`${newDataSource.name} UPDATED datasource`);
      },
      onEnter: (newDataSource) => {
        if (newDataSource.engine === 'native') {
          tasks.push(this.addFileManager(newDataSource));
        } else {
          throw new Error(`only native datasources work for now`); // ToDo: fix
        }
      }
    });

    return Q.all(tasks);
  }
開發者ID:boneill42,項目名稱:pivot,代碼行數:29,代碼來源:settings-manager.ts

示例5: return

 return () => {
     return q.all(
         array.map(row => {
             return db.update(insertSt, row)
         })
     )
 }
開發者ID:jakobrun,項目名稱:gandalf,代碼行數:7,代碼來源:fakedata.ts

示例6: updateJob

  /**
   * Hook to update the BrowserStack job status.
   * @public
   * @param {Object} update
   * @return {q.promise} A promise that will resolve when the update is complete.
   */
  updateJob(update: any): q.Promise<any> {
    let deferredArray = this.drivers_.map((driver: WebDriver) => {
      let deferred = q.defer();
      driver.getSession().then((session: Session) => {
        let headers: Object = {
          'Content-Type': 'application/json',
          'Authorization': 'Basic ' +
              new Buffer(this.config_.browserstackUser + ':' + this.config_.browserstackKey)
                  .toString('base64')
        };
        let options = {
          hostname: 'www.browserstack.com',
          port: 443,
          path: '/automate/sessions/' + session.getId() + '.json',
          method: 'GET',
          headers: headers
        };

        let req = https.request(options, (res) => {
          res.on('data', (data: Buffer) => {
            let info = JSON.parse(data.toString());
            if (info && info.automation_session && info.automation_session.browser_url) {
              logger.info(
                  'BrowserStack results available at ' + info.automation_session.browser_url);
            } else {
              logger.info(
                  'BrowserStack results available at ' +
                  'https://www.browserstack.com/automate');
            }
          });
        });
        req.end();
        req.on('error', (e: Error) => {
          logger.info(
              'BrowserStack results available at ' +
              'https://www.browserstack.com/automate');
        });
        let jobStatus = update.passed ? 'completed' : 'error';
        options.method = 'PUT';
        let update_req = https.request(options, (res) => {
          let responseStr = '';
          res.on('data', (data: Buffer) => {
            responseStr += data.toString();
          });
          res.on('end', () => {
            logger.info(responseStr);
            deferred.resolve();
          });
          res.on('error', (e: Error) => {
            throw new BrowserError(
                logger, 'Error updating BrowserStack pass/fail status: ' + util.inspect(e));
          });
        });
        update_req.write('{"status":"' + jobStatus + '"}');
        update_req.end();
      });
      return deferred.promise;
    });
    return q.all(deferredArray);
  }
開發者ID:MexicanAce,項目名稱:protractor,代碼行數:66,代碼來源:browserStack.ts

示例7: ForbiddenError

      .then((categories) => {
        if(categories.length > 0) {
          throw new ForbiddenError("Categories already been seeded");
        }

        return Q.all(createAllCategories());
      })
開發者ID:kaka3004,項目名稱:cms,代碼行數:7,代碼來源:firsttime-controller.ts

示例8: cleanup

 cleanup(): Promise<any> {
   return Q.all([
     this.nodeBuilder && this.nodeBuilder.cleanup(),
     this.browserDevBuilder && this.browserDevBuilder.cleanup(),
     this.browserProdBuilder && this.browserProdBuilder.cleanup()
   ]);
 }
開發者ID:Mariem-07,項目名稱:angular,代碼行數:7,代碼來源:angular_builder.ts

示例9: putAll

    putAll(pairs: [K, V][]): Q.Promise<void> {
        var partitionService = this.client.getPartitionService();
        var partitionsToKeys: {[id: string]: any} = {};
        var pair: [K, V];
        var pairId: string;
        for (pairId in pairs) {
            pair = pairs[pairId];
            var keyData = this.toData(pair[0]);
            var pId: number = partitionService.getPartitionId(keyData);
            if (!partitionsToKeys[pId]) {
                partitionsToKeys[pId] = [];
            }
            partitionsToKeys[pId].push({key: keyData, val: this.toData(pair[1])});
        }

        var partitionPromises: Q.Promise<void>[] = [];
        for (var partition in partitionsToKeys) {
            partitionPromises.push(
                this.encodeInvokeOnPartition<void>(MapPutAllCodec, Number(partition), partitionsToKeys[partition])
            );
        }
        var deferred = Q.defer<void>();
        Q.all(partitionPromises)
            .then(function() {
                deferred.resolve();
            });
        return deferred.promise;
    }
開發者ID:bilalyasar,項目名稱:hazelcast-nodejs-client,代碼行數:28,代碼來源:MapProxy.ts

示例10: getAll

    getAll(keys: K[]): Q.Promise<any[]> {
        var partitionService = this.client.getPartitionService();
        var partitionsToKeys: {[id: string]: any} = {};
        var key: K;
        for (var i in keys) {
            key = keys[i];
            var keyData = this.toData(key);
            var pId: number = partitionService.getPartitionId(keyData);
            if (!partitionsToKeys[pId]) {
                partitionsToKeys[pId] = [];
            }
            partitionsToKeys[pId].push(keyData);
        }

        var partitionPromises: Q.Promise<[Data, Data][]>[] = [];
        for (var partition in partitionsToKeys) {
            partitionPromises.push(this.encodeInvokeOnPartition<[Data, Data][]>(
                MapGetAllCodec,
                Number(partition),
                partitionsToKeys[partition])
            );
        }
        var toObject = this.toObject.bind(this);
        var deserializeEntry = function(entry: [Data, Data]) {
            return [toObject(entry[0]), toObject(entry[1])];
        };
        return Q.all(partitionPromises).then(function(serializedEntryArrayArray: [Data, Data][][]) {
            return Array.prototype.concat.apply([], serializedEntryArrayArray).map(deserializeEntry);
        });
    }
開發者ID:bilalyasar,項目名稱:hazelcast-nodejs-client,代碼行數:30,代碼來源:MapProxy.ts


注:本文中的Q.all函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。