2

我试图让自定义操作运行以简单地在流上传递特定节点时增加一个值。

我的自定义操作如下所示:

function action(bp: typeof sdk, event: sdk.IO.IncomingEvent, args: any, { user, temp, session } = event.state) {
  /** Your code starts below */

  let i = undefined

  const p = new Promise((resolve, reject) => {
    if (i === undefined) {
      resolve((i = 0))
    } else if (i >= 0) {
      resolve(i + 1)
    } else {
      reject('i cannot be < 0')
    }
  })

  const runCount = async () => {
    try {
      const counter = await p
      i = counter
      return (session.count = counter)
    } catch (err) {
      console.log(err)
    }
  }

  return runCount()

  /** Your code ends here */
}

当我 runCount() 变量时,我将设置为 0。但是,在重新运行 runCount() 之后,它不会进一步增加。

我需要做什么来保存变量,以便它在每次 runCount() 调用时递增。

问候洛伦兹

4

1 回答 1

0

我只是设法解决了这个问题。

我必须在开始时声明 i = session.count。

现在它从会话状态中获取值并在每次调用时增加状态。

也许有人会从中得到一些帮助。

洛伦兹

于 2021-02-08T19:12:27.857 回答