我已分组地址。我拿一个并创建一个谷歌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] } ]
答案 0 :(得分:0)
您可以通过执行以下操作直接创建Promise对象:
const myPromise = new Promise((resolve, reject) => {
// do what you need here
if(something) {
resolve(someValue)
} else {
reject(someError)
}
});
您甚至可以在完成处理结果之后将请求和resolve
/ reject
换行。