我如何宣传谷歌api请求?

时间:2017-08-17 11:07:08

标签: javascript google-maps promise

我已分组地址。我拿一个并创建一个谷歌API的请求,但我没有执行此请求我推送到一个数组下一个Promise.all这个请求。我想" googleMapsClient.directions"不回报承诺。 如何使用Promise.all收集和执行所有请求?

    urlsPromises.push(
    googleMapsClient.directions({
        origin: origin,
        destination: destination,
        waypoints: waypoints,
        optimize: true,
        mode: 'driving'
    }));
});
console.log(urlsPromises); 
// return: 
// [ { cancel: [Function], finally: [Function] },
// { cancel: [Function], finally: [Function] } ]

Promise.all(urlsPromises).then(results => {
    results.forEach((route, index1) => {
        const tripIndex = index1;
        console.log('- RESULT');
        //result: 
        // - RESULT
        //   [ { cancel: [Function], finally: [Function] },
        //   { cancel: [Function], finally: [Function] } ]

1 个答案:

答案 0 :(得分:0)

您可以通过执行以下操作直接创建Promise对象:

const myPromise = new Promise((resolve, reject) => {
  // do what you need here
  if(something) {
    resolve(someValue)
  } else {
    reject(someError)
  }
});

您甚至可以在完成处理结果之后将请求和resolve / reject换行。