javascript 如何在此函数中返回函数的值?[duplicate]

rdrgkggo  于 2023-02-11  发布在  Java
关注(0)|答案(1)|浏览(132)
    • 此问题在此处已有答案**:

(41个答案)
昨天关门了。
下面的代码:

regRead8: function(address){ 

        wire.write([address & 0xFF, address >> 8], function(err){
          if (!err == null) {
            console.log(err)
          } 
        })

       wire.read(1, function(err, res){
        if (!err == null) {
          console.log(err)
        }
          
        }) 

    }

regRead8是一个带参数(地址)的函数,它执行两项操作:
1.正在向FPGA写入下一个命令应读取的地址。
1.读命令从后面选择的寄存器中读取1字节的信息
现在,我希望函数regRead8()返回在第二个函数中获得的值(即www.example.com()...wire.read()...
regRead8(registerValueGoesHere)将成为另一个函数的一部分,该函数将返回指定寄存器的值。
我使用了一个叫i2c的库,它强制我使用这种带回调的函数,否则会出错。
我该怎么办?

z31licg0

z31licg01#

假设wire.read是同步的

regRead8: function(address){ 
    let result;
    wire.write([address & 0xFF, address >> 8], function(err){
      if (!err == null) {
        console.log(err)
      } 
    })

   wire.read(1, function(err, res){
    if (!err == null) {
      console.log(err)
    }
      result=res;
    }) 
    // eventually do check if result is empty and handle it
    return result;
}

相关问题