Javascript 我如何承诺谷歌api请求?
我有分组地址。我拿了一个并创建了一个对GoogleAPI的请求,但我没有执行这个请求,而是把它推到一个数组中,等待下一个承诺。所有这些请求。我猜“googleMapsClient.directions”不会回报你的承诺。 如何使用Promise.all收集和执行所有请求Javascript 我如何承诺谷歌api请求?,javascript,google-maps,promise,Javascript,Google Maps,Promise,我有分组地址。我拿了一个并创建了一个对GoogleAPI的请求,但我没有执行这个请求,而是把它推到一个数组中,等待下一个承诺。所有这些请求。我猜“googleMapsClient.directions”不会回报你的承诺。 如何使用Promise.all收集和执行所有请求 urlsPromises.push( googleMapsClient.directions({ origin: origin, destination: destination,
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)
}
});
你甚至可以包装一个请求,并在请求完成后
解析
/拒绝
,之前处理结果。哦,好主意。我要试试这个。太好了,你让我开心!