cps在redux saga中做什么?

What does cps do in redux saga?

我使用 redux-saga 已经有 5 个月了,它是一个非常强大的中间件库。

我几乎了解 redux-saga 中的所有内容,但我仍然无法理解“cps”。

谁能给我解释一下(举例)“cps”能做什么?

如果有人能把我从这个困惑中解救出来,我真的很感激。

cps 效果可以轻松处理接收 nodejs style callback 作为最后一个参数的异步函数。

const doSomething = (param1, param2, callback) => {
  setTimeout(() => {
    callback(null, 'done')
  }, 1000)
}

function* saga() {
  const result = yield cps(doSomething, 'foo', 'bar')
  console.log(result) // 'done'
}

文档:https://redux-saga.js.org/docs/api/#cpsfn-args