我正在尝试使用javascript Promise多次调用一个函数。该函数实际上调用URL并获取json对象。调用成功后,我可以正确返回json对象。如果任何呼叫失败,例如超时或500错误,则捕获不会记录。我尝试调试代码,发现它从未被捕获。
var promises = [];
for (var i = 0; i < questionIds.length; i++) {
promises.push(createPromise());
}
Promise.all(promises).then(function (res) {
console.log(success);
}).catch( function (error) {
console.log("error out");
console.log(error);
});
function createPromise() {
return new Promise(function(resolve, reject) {
getserviceresult();
});
}
答案 0 :(得分:0)
您必须执行以下操作之一:
function createPromise() {
return new Promise(function(resolve, reject) {
getserviceresult().then(function (result) {
if(result){
resolve(result)
}else{
reject('some error')
}
});
});
或一些环绕您的函数并调用resolve and reject
的逻辑。
function createPromise() {
return new Promise(function(resolve, reject) {
const result = getserviceresult();
if(result){
resolve(result)
}else{
reject('some error')
}
});