- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个操作使用 Promise.allSettled 从 API 返回多个统计对象。当我用模拟运行测试时,我得到了错误Promise.allSettled 不是函数
我有一个获取端点来返回不同类型的统计数据。myapi.com/get_stats/:type
我对这个 API 有如下操作
const types = ['seo', 'referrers', 'clicks', 'posts', 'videos'];
const promises = [];
types.forEach(type =>
promises.push(
api().stats.getStats(type),
),
);
Promise.allSettled(promises).then(res => {
const { statData, statErrors } = mapData(res); // Data manipulation
dispatch({ type: FETCH_STATS_RESOLVED, payload: { statData, statErrors } });
});
我的测试设置
jest.mock('api-file.js', () => ({
api: () => ({
stats: {
getStats: type => {
switch (type) {
case: 'seo':
return mockSeoStats;
}
}
}
})
}));
在 beforeEach() 中
mockSeoStats.mockImplementation(() => Promise.resolve({ value: {data: myData} }));
我可以看到 Action 正在接收这些模拟值,但 Promise.allSettled 正在提示
我认为它在 Jest 模拟结构方面遇到了困难
那么,我怎样才能模拟 Promise.allSettled 只返回我期望的结果,而不是查看我模拟的函数?
最佳答案
在 Execute batch of promise with Promise.allSettled() 上提出了类似的问题Promise.allSettled 可从 Node 版本 12.0 + 开始使用
您可以使用 Node 的版本管理器更新节点
nvm ls
# Look for a 12.17.0 version (latest)
nvm install 12.17.0
# Automatically switches to new version
npm run test
# Should properly run your Promise.all
希望对您有所帮助。
关于javascript - Promise.allSettled 不是 Jest 测试中的函数,如何模拟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62160799/
当使用 Promise.allSettled 同时发出多个请求时,响应中数组的顺序是否与请求中的初始数组相对应?不管他们结算的顺序如何,它是否保持相同的顺序? const promise1 = new
我最近一直在尝试在带有 Typescript 的 NodeJS 上使用 Promise.allSettled,但我遇到了响应问题。 allSettled 方法返回一个带有 status: "rejec
我使用 Promise.allSettled 以批量方式获取网站。如果我将网站列表的大小限制为 10,它可以正常工作,但一旦我将其增加到 1000,它就会卡住。 这很奇怪,我从来没有发生过。我已经等了
我正在尝试学习如何将 Promise 与数组和一些异步 mongo 查询一起使用。这是我当前拥有的方法,但是在我的 mongo 查询之前,Q.allSettled 执行,因为 Q.allSettled
我正在开发一个 NodeJS 应用程序,它从不同的 API 获取大量信息。 在最大的抓取过程中,我的 promise 出现了一些问题。 我想我发起的请求太多而且速度太快...... var prom
JavaScript Promise.allSettled 在全部结算后是否有回调? 我需要在 promise.allSettled 之后调用一个函数。 最佳答案 调用 Promise.allSett
我希望 Typescript 推断过滤数组上的类型。 我正在根据“已拒绝”或“已完成”状态(来自 Promise.allSettled)过滤结果。 出于某种原因,Typescript 无法推断我的过滤
我在单元测试的某些地方看到函数从函数调用返回一个 q.allSettled() promise 并且有一个 .fail 附加到 promise .但是 .allSettled 会调用 .then,即使
我有一个操作使用 Promise.allSettled 从 API 返回多个统计对象。当我用模拟运行测试时,我得到了错误Promise.allSettled 不是函数 我有一个获取端点来返回不同类型的
我正在处理一个损坏的代码库,所以我试图尽可能少地接触。特别是,现在它正在使用 TypeScript 和 ES6,我需要启动一系列 promise 并等待它们全部完成,然后再继续执行代码,无论它们是 r
Typescript 构建失败,因为它似乎不喜欢 Promise.allSetttled即使我已将 ts config comilerOptions 设置为 "lib": [ "ES2020.Prom
在 Node v10.15.1 中,我尝试使用 Promise.allSettled() 批量执行 Promise,但它抛出一个错误 TypeError: Promise.allSettled is
我正在使用很棒的 Q 库来实现 promise ,并在 Chrome 应用程序中支持 IndexedDB。问题是在 Promise 链中的所有方法完成之前就调用了 Q.allSettled。 我有两个
我正在尝试使用 Promise.allSettled 带有 TypeScript 的 API。代码在这里:server.test.ts : it('should partial success if
我正在使用 babel 转译我的 node.js@0.10.x 代码,但我被 promise 所困。 我需要 allSettled 类型的功能,可以在 q 和 bluebird 或 angular.$
我正在阅读 MDN 的 Promise 手册,我发现这两种方法与我相似: Promise.allSettled(iterable); Promise.all(iterable); 他们都接受一个可迭代
使用Q.allSettled时,无法使用Q.fail获取错误。 如果我有 promises,其中包含最终被拒绝的 promise,则此代码永远不会进入 .fail block Q.allSettled
我有一个 Promise.allSettled 用于解析数据库中的数据。我有一系列通过 Promise.allSettled 运行的 Promise,然后我只使用已解决的 Promise。是否可以在
我正在使用 Promise.allSettled() 学习 NodeJs 12功能及其用法。 我已经编写了以下代码。我能够在控制台中打印状态,但无法打印值,因为它给出了编译问题。 co
我是一名优秀的程序员,十分优秀!