问题标签 [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.
node.js - 流星:在打字稿中编写流星方法时找不到模块纤维/未来
我正在使用 typescript es6 和 angular2 一起使用流星,我在为异步函数编写流星方法时遇到了这个错误。我在插入查询中遇到同步问题,因为当名称相同时,它没有向我提供插入错误。所以我决定使用纤维和未来,但打字稿一直给我一个错误,它找不到纤维/未来的模块。我试过 meteor npm install fiber,meteor npm install future,meteor add ostrio:neo4jdriver@1.0.2-fiber ,但没有任何效果。如果有任何解决方案请告诉我。如果有任何其他方法可以用来解决这个问题,请告诉我。
我的错误是
node.js - 结合 NodeJS Fibers + VM Sandbox
我想在 Node 中运行一些不受信任的代码,如下所示:
使用 Fibers,我得到了按预期工作的同步行为:
困难在于如何对代码进行沙箱化。不得不使用 Fibers 让事情变得非常复杂。我不确定如何开始。如何使用vm2将上述沙盒化?例如,以下显然行不通:
(它不起作用,因为VMgreen_led
中sleep
的沙盒代码不可见)。
这应该怎么做?任何一个...
- 也许一切都应该在虚拟机内部运行,包括光纤和实现
green_led
等? - 或者最好让VM运行的代码最小化,而不是以某种方式白名单/代理
green_led
和sleep
?在灰质上并不容易,首先要理解纤维是如何工作的已经够难的了!
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,但并没有什么不同。任何帮助将不胜感激,因为这让我发疯。
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 运行良好。
node.js - 如何在流星中同步 web 服务调用
我试图在流星中同步调用一个简单的天气服务。我什至无法使客户端创建同步。在下面的代码中,我希望 user.testData 包含“测试数据”,但它什么都不包含。
node.js - 如何在 Intranet 上 npm install node-fibers?
看起来光纤正在尝试与之交谈,104.20.23.46:443
但由于我没有互联网连接,所以它失败了。有没有办法解决这个问题?
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 天尝试让光纤工作(或同步/同步),但没有任何帮助。
node.js - 错误:wait.for 只能在光纤内部调用
我有 2 个 scipts 几乎与嵌套在光纤中的级联函数调用相同。
这个(在区块链中解析 Tx)具有三个调用完美地工作
然后我必须对内存池做类似的事情。在这种情况下,我没有块,只有交易,所以我只有 2 个调用,我收到以下错误消息:
错误:wait.for 只能在光纤内部调用
我不明白问题是什么。这两个脚本具有相同的结构!
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()
?
谢谢!
javascript - Node.js 纤维和赋值运算符
纤维和赋值运算符的工作很奇怪!似乎将+=
运算符与执行暂停的函数一起使用会导致错误。在此示例中,我并行启动 10 个任务,每个任务都添加one
到sum
. 工作完成后,总和应该等于 10,但我得到 1。
更奇怪的是:如果我替换sum += getOne();
为var one = getOne(); sum += one;
,它可以工作!