【问题标题】:How can I handle ChirpSDK events with series of promises in WebAssembly如何在 WebAssembly 中使用一系列 Promise 处理 ChirpSDK 事件
【发布时间】:2019-10-16 14:42:27
【问题描述】:

我设计了一个产生啁啾声的有效载荷调度,但在接收器端,我如何在将声音或啁啾声解码到网页中的数据时合并onReceiving& onReceived 事件

我的啁啾实例化:

      var chirp = Chirp({
        key: CHIRP_APP_KEY,
        onReceiving: () => {
        this.setState({
          received: '...',
          disabled: true
        })
      },
        onReceived: data => {
          console.log('xyz')
          if (data.length > 0) {
            console.log(toAscii(data))
          } else {
            console.error('Decode failed')
          }
        }
      });

在 wasm 中调用 CHirp SDK

        chirp.then(sdk => {
          console.log(sdk)
          sdk.start().then(() => {
          // sdk.onReceiving()
          })
        }).catch(console.error)

在这种情况下,我如何合并一系列承诺?

【问题讨论】:

  • 我不太清楚你想达到什么目的?你想把回调转换成 Promise 吗?
  • @Dinu 是按顺序执行,但无法继续执行 promise.all()

标签: javascript reactjs reactive-programming webassembly chirp


【解决方案1】:

您可以在实例化时将任何函数传递给 ChirpSDK,当数据开始/完成接收时调用。这些函数可以做任何你喜欢的事情,比如发送一个事件。见https://developers.chirp.io/docs/getting-started/wasm

您可以在这篇博文中找到一个使用 Chirp WebAssembly SDK 和 React 等前端框架的示例 - https://blog.chirp.io/chirp-in-react/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    相关资源
    最近更新 更多