javascript - Promise.all 中的 Promise 没有被执行

标签 javascript promise

有人可以帮助我为什么promise.all中的promise(即suggestRC和suggestGL)没有被调用吗?我想确保 suggestRC 和 suggestGL 同时执行。正因如此,我才这样写。 extractIdeas 被调用,但 suggestRC 和 suggestGL 未被调用。

function suggestValues(editIdeaPanel) {

    Requests.deckreposvc({searchIdeas: {searchString: searchReq}})
        .then(extractIdeas)
        .then(Promise.all([suggestRC, suggestGL]))
        .catch(handleError);
}

function extractIdeas(searchRes) {
    return searchRes.searchIdeas.data;
}


function suggestRC(ideas) {
    return new Promise(function(resolve, reject) {
              //do something 
        }
        resolve(ideas);
    });
}

function suggestGL(ideas) {
    return new Promise(function(resolve, reject) {
    if(!editIdeaPanel.wdGLeaderCombo.propertyValue.uuid) {
           //do something
    }
        resolve(ideas);
    });
}

最佳答案

您需要在传递给 then回调调用这两个函数(添加括号):

.then(data => Promise.all([suggestRC(data), suggestGL(data)]))

此外,您还希望suggestValues返回 promise :

return Requests.deckreposvc( //...etc

关于javascript - Promise.all 中的 Promise 没有被执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43380359/

相关文章:

javascript - jQuery:影响相同深度的列表元素

javascript - 这段 JavaScript 代码会按照我期望的方式进行垃圾回收吗?

javascript - 在 javascript 中重建包含嵌套数组的对象数组

javascript - 明示 promise 行不通

javascript - 在映射下一项之前,异步等待映射不等待异步函数在映射函数内部完成

javascript - zip 文件并从客户端或服务器下载?

javascript - 如何根据 rxjs 中的缓冲区内容缓冲可观察值?

javascript - 我如何从 promise 主体外部访问 promise 结果

javascript - 取消之前的 promise

javascript - promise 不会解决