使用NPM软件包时,“流星代码必须始终在光纤中运行”错误

Nyxynyx

我正在使用Meteor.require('npmPackage')NPM软件包。但是在npm包的回调函数中写入mongo时似乎出现错误。

错误:

Error: Meteor code must always run within a Fiber. Try wrapping callbacks that you pass to non-Meteor libraries with Meteor.bindEnvironment.

npmPackage.getInfo(function(err, data) {
    UserSession.insert({
        key: 'info',
        value: data
    });
    console.log(data);
});

我尝试将代码包装在Fiber中,但仍显示相同的错误消息:

Fiber(function() {

    npmPackage.getInfo(function(err, data) {
        UserSession.insert({
            key: 'info',
            value: data
        });
        console.log(data);
    });

}).run();

问题:应该如何Meteor.bindEnvironment使用它才能使它起作用?

阿克沙特

尝试使用wrapAsync例如

npmPackage.getInfoSync = Meteor._wrapAsync(npmPackage.getInfo.bind(npmPackage));

var data = npmPackage.getInfoSync();

UserSession.insert({
    key: 'info',
    value: data
});

您可以根据需要添加参数npmPackage.getInfoSync()(如果需要的话)。

关键是回调必须位于错误产生的光纤中。最好的方法是使用Meteor.bindEnvironmentMeteor._wrapAsync为您做到这一点并使代码同步。哪一个更好:)

Meteor._wrapAsync是一个未公开的方法,它接受的方法的最后一个参数是一个回调,第一个参数为error,第二个参数为result就像您的回调一样。

然后,将回调包装为a Meteor.bindEnvironment,然后等待,然后同步返回值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误:流星代码必须始终在光纤中运行

来自分类Dev

在Meteor.js中使用NPM软件包时,必须在Fiber错误中运行

来自分类Dev

带有流星的npm软件包串行端口的光纤错误

来自分类Dev

需要一些帮助来解码流星软件包安装中的npm错误消息

来自分类Dev

运行流星的软件包测试

来自分类Dev

下载流星软件包时卡住

来自分类Dev

是否可以从下载的软件包中本地运行npm软件包安装?

来自分类Dev

使用npm软件包

来自分类Dev

加载browersify隐藏的npm软件包并在script标记中使用它时遇到错误?

来自分类Dev

在Meteor中没有mongodb且在Meteor中使用NPM软件包的反应性代码

来自分类Dev

运行软件包安装时,sqlite3错误

来自分类Dev

使用nvm时管理全局npm软件包

来自分类Dev

运行全局安装的npm软件包

来自分类Dev

Meteor 中 chokidar 的使用示例以防止错误:Meteor 代码必须始终在 Fiber 中运行

来自分类Dev

错误:无法解析以下软件包名称:在Julia中安装软件包时出错

来自分类Dev

部署时使用npm包发生流星错误

来自分类Dev

安装npm软件包时出错

来自分类Dev

在Julia中安装软件包时遇到错误

来自分类Dev

在pycharm中安装软件包“袖扣”时出现错误

来自分类Dev

在Julia中安装软件包时遇到错误

来自分类Dev

流星-使用测试数据库运行软件包测试

来自分类Dev

尝试使用dpkg安装软件包时出现错误

来自分类Dev

使用PIP安装python软件包时出现错误

来自分类Dev

安装npm软件包时出现“在名称空间'v8'中没有名为'WeakCallbackData'的模板”错误

来自分类Dev

流星地理定位软件包的android错误

来自分类Dev

流星和Hammer JS软件包的Tracker afterFlush错误

来自分类Dev

在执行npm软件包的require时,软件包名称中的斜杠是什么意思?

来自分类Dev

使用Neuronet软件包的R中的错误

来自分类Dev

加载软件包时Rsamtools错误

Related 相关文章

  1. 1

    错误:流星代码必须始终在光纤中运行

  2. 2

    在Meteor.js中使用NPM软件包时,必须在Fiber错误中运行

  3. 3

    带有流星的npm软件包串行端口的光纤错误

  4. 4

    需要一些帮助来解码流星软件包安装中的npm错误消息

  5. 5

    运行流星的软件包测试

  6. 6

    下载流星软件包时卡住

  7. 7

    是否可以从下载的软件包中本地运行npm软件包安装?

  8. 8

    使用npm软件包

  9. 9

    加载browersify隐藏的npm软件包并在script标记中使用它时遇到错误?

  10. 10

    在Meteor中没有mongodb且在Meteor中使用NPM软件包的反应性代码

  11. 11

    运行软件包安装时,sqlite3错误

  12. 12

    使用nvm时管理全局npm软件包

  13. 13

    运行全局安装的npm软件包

  14. 14

    Meteor 中 chokidar 的使用示例以防止错误:Meteor 代码必须始终在 Fiber 中运行

  15. 15

    错误:无法解析以下软件包名称:在Julia中安装软件包时出错

  16. 16

    部署时使用npm包发生流星错误

  17. 17

    安装npm软件包时出错

  18. 18

    在Julia中安装软件包时遇到错误

  19. 19

    在pycharm中安装软件包“袖扣”时出现错误

  20. 20

    在Julia中安装软件包时遇到错误

  21. 21

    流星-使用测试数据库运行软件包测试

  22. 22

    尝试使用dpkg安装软件包时出现错误

  23. 23

    使用PIP安装python软件包时出现错误

  24. 24

    安装npm软件包时出现“在名称空间'v8'中没有名为'WeakCallbackData'的模板”错误

  25. 25

    流星地理定位软件包的android错误

  26. 26

    流星和Hammer JS软件包的Tracker afterFlush错误

  27. 27

    在执行npm软件包的require时,软件包名称中的斜杠是什么意思?

  28. 28

    使用Neuronet软件包的R中的错误

  29. 29

    加载软件包时Rsamtools错误

热门标签

归档