如何在生成器中捕获yield而不使用未使用的变量?

问题描述 投票:0回答:1

我有一个警告

'res' is assigned a value but never used  no-unused-vars
,代码与此类似:

function* cancelCredit(action) {
    const res = yield call(/*Nice api call 1*/);
    const res2 =  yield call(/*Nice api call 2*/);
    // Do something with res2
    yield // something
}

如何隐藏此生成器函数的第一个

yield
,而无需使用未使用的变量,例如
console.log(res)

javascript generator yield
1个回答
0
投票

您可以通过使用

void
运算符来忽略任何值:

void yield call(/*Nice api call 1*/);

(这对于强制所有承诺明确等待或作废的 eslint 规则特别有用)

但是,您的情况不是您必须

void
的2.5种情况之一 - 您可以忽略该值,这是允许的

yield call(/*Nice api call 1*/);

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/yield

语法

yield
yield expression

参数 表达式 可选 通过迭代器协议从生成器函数产生的值。如果省略,则会产生 undefined。

返回值 返回传递给生成器的 next() 方法的可选值以恢复其执行。

注意:这意味着 next() 是不对称的:它总是向当前挂起的yield 发送一个值,但返回下一个yield 的操作数。无法检索传递给第一个 next() 调用的参数,因为当前没有挂起的收益。

© www.soinside.com 2019 - 2024. All rights reserved.