问题标签 [node-fibers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
844 浏览

node.js - 流星:在打字稿中编写流星方法时找不到模块纤维/未来

我正在使用 typescript es6 和 angular2 一起使用流星,我在为异步函数编写流星方法时遇到了这个错误。我在插入查询中遇到同步问题,因为当名称相同时,它没有向我提供插入错误。所以我决定使用纤维和未来,但打字稿一直给我一个错误,它找不到纤维/未来的模块。我试过 meteor npm install fiber,meteor npm install future,meteor add ostrio:neo4jdriver@1.0.2-fiber ,但没有任何效果。如果有任何解决方案请告诉我。如果有任何其他方法可以用来解决这个问题,请告诉我。

我的错误是

0 投票
1 回答
226 浏览

node.js - 结合 NodeJS Fibers + VM Sandbox

我想在 Node 中运行一些不受信任的代码,如下所示:

使用 Fibers,我得到了按预期工作的同步行为:

困难在于如何对代码进行沙箱化。不得不使用 Fibers 让事情变得非常复杂。我不确定如何开始。如何使用vm2将上述沙盒化?例如,以下显然行不通:

(它不起作用,因为VMgreen_ledsleep的沙盒代码不可见)。

这应该怎么做?任何一个...

  1. 也许一切都应该在虚拟机内部运行,包括光纤和实现green_led等?
  2. 或者最好让VM运行的代码最小化,而不是以某种方式白名单/代理green_ledsleep?在灰质上并不容易,首先要理解纤维是如何工作的已经够难的了!
0 投票
1 回答
54 浏览

node.js - Meteor Fibers 错误 - 跨不同版本的 Meteor

我有 3 个不同版本的流星应用程序

  • 应用#1 (v1.2.1)
  • 应用#2 (v1.3.2.1)
  • 应用#3 (v1.4.1)

应用程序 #1 和 #3 运行良好。但是 App#2 收到以下错误消息

module.js:340 错误:找不到模块“纤维”

无奈之下,我将 App#2 升级到 v1.3.3,现在运行正常。但现在 App#1 收到相同的错误消息。有人可以向我解释为什么以及该怎么做吗?我已经从头开始重新安装了 Meteor,但并没有什么不同。任何帮助将不胜感激,因为这让我发疯。

0 投票
1 回答
1123 浏览

node.js - 安装 npm 包时出现“命名空间‘v8’中没有名为‘WeakCallbackData’的模板”错误

某些依赖于https://www.npmjs.com/package/fibers的软件包无法安装并出现上述错误消息。特别是铁流星。

纤维主页说:

流星用户请阅读此内容

如果你试图让流星运行并且你最终在这个页面上你可能做错了什么。请卸载所有版本的 NodeJS 和 Meteor,然后重新开始。有关更多信息,请参见流星#5124。”

但这似乎不是很有帮助。

一个人建议在这里降级 node.js https://github.com/NativeScript/NativeScript/issues/2991

它确实有帮助,但它有点像黑客,对吧?

受影响的节点版本:v7.2.0

节点 v6.9.2 运行良好。

0 投票
1 回答
289 浏览

node.js - 如何在流星中同步 web 服务调用

我试图在流星中同步调用一个简单的天气服务。我什至无法使客户端创建同步。在下面的代码中,我希望 user.testData 包含“测试数据”,但它什么都不包含。

0 投票
1 回答
884 浏览

node.js - 如何在 Intranet 上 npm install node-fibers?

看起来光纤正在尝试与之交谈,104.20.23.46:443但由于我没有互联网连接,所以它失败了。有没有办法解决这个问题?

0 投票
1 回答
407 浏览

javascript - 节点(同步/同步)找不到纤程二进制文件

我知道,很多人已经遇到过这个问题,我尝试了所有能找到的解决方案,但没有任何帮助......我知道这个问题,但它对我不起作用:(

问题:

它说: node_modules\fibers\bin\win32-ia32-53\fibers.node 丢失。当尝试启动任何使用 require('fibers') 的 Electron-edge 项目时。

版本和其他信息:我确实有 win32-ia32-48 和 win32-ia32-57 文件夹。Electron.exe 是 32 位的 .node 文件是 32 位的,npm 纤维的版本是 2.0.0

是(据说)我的节点版本:(当前:{“node”:“0.10.40”,“npm”:“2.13.3”})

但是,我安装了“最新 LTS 版本:v6.11.1(包括 npm 3.10.10)”。

我不知道该怎么做。我连续 3 天尝试让光纤工作(或同步/同步),但没有任何帮助。

0 投票
1 回答
382 浏览

node.js - 错误:wait.for 只能在光纤内部调用

我有 2 个 scipts 几乎与嵌套在光纤中的级联函数调用相同。

这个(在区块链中解析 Tx)具有三个调用完美地工作

然后我必须对内存池做类似的事情。在这种情况下,我没有块,只有交易,所以我只有 2 个调用,我收到以下错误消息:

错误:wait.for 只能在光纤内部调用

我不明白问题是什么。这两个脚本具有相同的结构!

0 投票
1 回答
382 浏览

meteor - 没有标准回调签名的 Meteor wrapAsync 或 bindEnvironment

我正在尝试调用createTableIfNotExists这个 npm 包,并在服务器端的 Meteor 中同步调用。 https://www.npmjs.com/package/azure-storage

但是,回调签名是 typefunction(error, result, response)而不是传统的function(error,result).

1)因此,我不能使用Meteor.wrapAsync,而是必须使用Meteor.bindEnvironment

2)我称之为'bindEnvironment'如下。注意带有 3 个参数的回调。这可行,但现在我想将 , 提取return value回原始方法(即原始纤维)。

请注意,简单地在外部定义“addResult”createTableService是行不通的,因为内部的回调bindEnvironment相对于外部代码异步运行......即demoFunction()在回调设置之前返回addResult

我怎样才能调用createTableIfNotExists并仍然返回addResult 到调用的函数 demoFunction()

谢谢!

0 投票
0 回答
49 浏览

javascript - Node.js 纤维和赋值运算符

纤维和赋值运算符的工作很奇怪!似乎将+=运算符与执行暂停的函数一起使用会导致错误。在此示例中,我并行启动 10 个任务,每个任务都添加onesum. 工作完成后,总和应该等于 10,但我得到 1。

更奇怪的是:如果我替换sum += getOne();var one = getOne(); sum += one;,它可以工作!