当我添加自己的自定义babelrc时,async / await会中断

时间:2016-06-29 13:54:58

标签: javascript asynchronous meteor ecmascript-6 babeljs

我想自定义我的babelrc以获得一些额外的插件。 Based on the 1.3.4 release notes,看起来我完全可以。所以我这样做了:

{
  "presets": ["babel-preset-meteor"],
  "plugins": ["add-module-exports", "transform-class-properties"]
}

然而,现在每当我尝试使用async / await时,它都会完全断开,说流星代码必须在光纤内运行。

Exception while invoking method 'add address' Error: Meteor code must always run within a Fiber.

这来自一个如下所示的方法:

export async function addAddress() {
  await [whatever];
}
Meteor.methods({
  'add address': addAddress
});

如果我完全删除了.babelrc,它似乎可以正常工作。

1 个答案:

答案 0 :(得分:0)

我发现了问题。

显然,你无法覆盖流星的原生承诺,否则它会默默地打破所有承诺,因为meteor拥有它自己的实现。

characteristic=gatt.getService(MOVE_SERVICE).getCharacteristic(MOVE_CONFIG_CHAR);

characteristic.setValue(0b0000000010111000,BluetoothGattCharacteristic.FORMAT_UINT16,0);

gatt.writeCharacteristic(characteristic);