Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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
Javascript 我如何承诺谷歌api请求?_Javascript_Google Maps_Promise - Fatal编程技术网

Javascript 我如何承诺谷歌api请求?

Javascript 我如何承诺谷歌api请求?,javascript,google-maps,promise,Javascript,Google Maps,Promise,我有分组地址。我拿了一个并创建了一个对GoogleAPI的请求,但我没有执行这个请求,而是把它推到一个数组中,等待下一个承诺。所有这些请求。我猜“googleMapsClient.directions”不会回报你的承诺。 如何使用Promise.all收集和执行所有请求 urlsPromises.push( googleMapsClient.directions({ origin: origin, destination: destination,

我有分组地址。我拿了一个并创建了一个对GoogleAPI的请求,但我没有执行这个请求,而是把它推到一个数组中,等待下一个承诺。所有这些请求。我猜“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] } ]
可以通过执行以下操作直接创建对象:

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

你甚至可以包装一个请求,并在请求完成后
解析
/
拒绝
,之前处理结果。

哦,好主意。我要试试这个。太好了,你让我开心!