Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >调用一个函数,该函数返回一个AsyncIterableIterator,而不使用"for await“块

调用一个函数,该函数返回一个AsyncIterableIterator,而不使用"for await“块
EN

Stack Overflow用户
提问于 2020-06-22 13:02:12
回答 1查看 1.5K关注 0票数 4

我正在使用TypeScript运行时在Node.js中编写AWS函数。我使用来自一个返回AsyncIterableIterator类型的DynamoDB ORM库的"batchDelete“函数。

根据这里的文档,https://github.com/awslabs/dynamodb-data-mapper-js#batchDelete,我应该使用一个for等待循环调用方法,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for await (const found of mapper.batchDelete(toRemove)) {
    // items will be yielded as they are successfully removed
}

这一切都很好,但是如果我在我的项目上启用ESLint,那么问题就在哪里。默认规则抛出错误,因为for等待块为空。我还会收到警告,因为找到的常量从未被使用过。我没有使用找到的常量,也不想记录它。我想知道是否有另一种方法来调用AsyncIterableIterator函数,即我们忽略返回的内容而没有空块?

EN

回答 1

Stack Overflow用户

发布于 2020-06-22 13:43:05

如果您不关心迭代的结果,那么您可能应该这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
await Promise.all(toRemove.map(item => mapper.delete(item));

要更直接地使用mapper.batchDelete(toRemove)结果,您必须考虑到多个级别的承诺。也许你可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
await Promise.all(await mapper.batchDelete(toRemove)[Symbol.asyncIterator]());

在这样做的过程中,await mapper.batchDelete(toRemove)[Symbol.asyncIterator]()将为您获得默认的异步Iterator,然后将其传递给Promise.all(),将其迭代以获得可迭代的承诺。不幸的是,在构建它以使这更容易:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for await (const found of mapper.batchDelete(toRemove))

他们让它变得更加困难,仅仅得到一系列的承诺。

FYI,如果您想了解如何实现.batchDelete()方法,这里有一个.batchDelete()方法的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62523444

复制
相关文章
一个函数返回多个值
第一种方法:函数返回的是一个指针地址(数组地址),这个内存地址有多个变量寄存在里面。这个方法我不太会用,传地址传值我常常搞的淅沥糊涂。
Java架构师必看
2021/03/22
1.4K0
函数的返回值指向一个指针
函数的返回值类型必须与函数体内的返回表达式的类型相匹配。如果类型不匹配,编译器会报错。此外,C 语言中的函数只能返回一个值,如果需要返回多个值,可以使用结构体或指针等方式来实现。
云深无际
2023/05/24
6940
函数的返回值指向一个指针
java构造函数调用另一个构造函数_java中的构造函数
* 构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法
用户7886150
2021/04/29
4.5K0
我可以在一个构造函数中调用另一个构造函数么
但在 C++11 版本之前是不可以的,不过你可以通过两种方式来模拟实现(可以参见 the C++ FAQ entry),
ClearSeve
2022/02/10
3K0
逆向知识十一讲,识别函数的调用约定,函数参数,函数返回值.
IBinary
2018/01/08
2.4K0
逆向知识十一讲,识别函数的调用约定,函数参数,函数返回值.
使用OSTaskCreate()建立一个任务后,该任务处于( )_worksheetfunction函数用法
任务是操作系统处理的首要对象,在多任务运行的环境中,任务的管理需要考虑多方面的因素,最基本的任务管理是任务的创建。任务创建函数有两种,一种是基本的创建函数OSTaskCreate,另一种是扩展的任务创建函数OSTaskCreateExt。两个函数都实现了任务的创建,但是OSTaskCreateExt的功能更强,带有很多附加的功能,如果不需要附加功能,OSTaskCreate是完全可以胜任的,没有哪一个更好之说,完全根据需要来选择。
全栈程序员站长
2022/10/04
3770
异步函数async和await
前面我们介绍的是promise对象,这里我们介绍一下async...await异步函数,创建函数时候使用async关键词表示这是一个异步函数,await必须和async搭配使用
十月梦想
2018/10/09
1.2K0
JS函数注意点11 return返回的值返回给调用函数处哈。函数处是实参哪里。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <bo
贵哥的编程之路
2020/10/28
1.8K0
oracle函数的调用应使用execute命令_matlab函数调用
之前一直使用的MySQL数据库,第一次接触Oracle就用到了函数和存储过程,今天跟大家分享一下使用过程.
全栈程序员站长
2022/10/04
2.2K0
oracle函数的调用应使用execute命令_matlab函数调用
Python之函数【参数,返回值,嵌套调用,作用域,匿名函数】
参数就是在声明函数时,在函数名后面的小括号内部填写参数,多个参数之间使用 , 分隔 。
叫我阿杰好了
2022/11/07
1.1K0
Python之函数【参数,返回值,嵌套调用,作用域,匿名函数】
函数基础,函数返回值,函数调用的3中方式,形参与实参
在函数定义阶段括号内有参数,称为有参函数。需要注意的是:定义时有参,意味着调用时也必须传入参数。
小小咸鱼YwY
2019/07/24
2.1K0
Laravel 5.2+ 使用url()全局函数返回前一个页面的地址
注意:文章标题中5.2+表示该文章内容可向上兼容,适用于Laravel版本5.2及更高(目前最新为5.6),但不可向下兼容,即不适用于5.2版本以下。推荐大家花一点点时间,将自己的Laravel更新至5.6版本。
全栈程序员站长
2022/07/08
1.3K0
「Python」函数返回值、嵌套调用、执行结果
在程序开发中,有时候会希望一个函数执行结束后,告诉调用者一个结果,一遍调用者针对具体的结果做后续的处理。
python自学网
2022/05/16
2.2K0
「Python」函数返回值、嵌套调用、执行结果
使用solidity实现一个printf函数
字符串格式化函数在应用开发时经常用到,而在合约中使用场景似乎没有那么多,然而要实现这个函数,则需要先解决一些问题,本文就探讨一下如何来解决这些问题。先看其用法:
Tiny熊
2022/04/08
4580
使用solidity实现一个printf函数
Python中如何构造返回函数以及怎么使用返回函数
Python返回函数即当一个函数的返回结果是另一个函数的时候,这样的函数就是返回函数。
python自学网
2021/12/05
2.8K0
Python中如何构造返回函数以及怎么使用返回函数
函数返回指针
先写一个例子,运行一下看看 #include <stdio.h> int add(int a, int b) { printf("a = %d b = %d\n", &a, &b);
用户7272142
2023/10/11
1110
函数返回指针
返回函数
一个函数可以返回一个计算结果,也可以返回一个函数 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回 返回一个函数时,牢记该函数并未执行,返回函数中不要引用任何可能会变化的变量
py3study
2020/01/17
1.2K0
【Python】函数 ③ ( 函数返回值定义语法 | 函数返回多个返回值 | 代码示例 )
在 Python 函数中 , 通过 return 关键字 , 可以返回一个结果给调用者 , 这个返回结果就是 函数返回值 ;
韩曙亮
2023/10/11
7330
【Python】函数 ③ ( 函数返回值定义语法 | 函数返回多个返回值 | 代码示例 )
点击加载更多

相似问题

async await函数返回promise而不是string

10

使用ASYNC/AWAIT进行函数调用

21

指示使用特定参数调用函数而不执行该参数

21

调用函数中的函数而不返回任何值

13

函数返回promise对象而不是值(async/await)

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文