问题标签 [node-deasync]

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 回答
293 浏览

node.js - 无法在nodejs中同步运行函数并表达

我在这个项目中使用了wikipedia-js。这是我的summary.js文件代码。

我在/wiki/:topicname路线中使用的这个模块。里面对应的代码index.js是这样的。

问题是,每次我访问 wiki/ some-topicsummary.js时,执行之前的最后一个返回语句htmlWikiText都会填充内容。所以我总是hello initial在浏览器页面上看到。尽管经过一段时间后,由于console.log声明,它会打印在终端上。

那么我应该如何解决这个问题呢?

0 投票
2 回答
153 浏览

node.js - Mongoose 同步查找

我正在尝试构建一个同步的猫鼬查找。我采用了deasync的使用。 https://www.npmjs.com/package/deasync

这目前适用于保存,但不适用于查询

这部分代码

只是永远挂起,最终它会通过。有没有人有任何想法?

0 投票
0 回答
313 浏览

javascript - node.js:异步永不返回

在 node.js 中,我deasync用来返回request查询结果。

这工作正常。但如果我删除这一行:console.log(response);它永远不会返回。我不知道发生了什么。

0 投票
0 回答
569 浏览

javascript - 在浏览器(前端)上 deAsync.js 的方法?浏览器化

所以,我实现了这个使用 deasync.js 的 node.js 模块(因为我需要一些同步计算,而 javascript 承诺还不够好)

现在,我必须将其导入前端,并从浏览器中调用它。

但是,似乎 browserify.js 无法实现。(我看到抱怨 deasync.js 部分的错误,但它不起作用)

有什么办法可以做到这一点?可能是 deasync.js 的前端版本?

我查看了执行类似工作的 npm 模块(synchronous.js),但似乎 browserify.js 也不喜欢它。(因为它取决于节点(?))

谢谢。

0 投票
1 回答
2496 浏览

node.js - 现实中的异步与非同步

的背景

我正在节点中编写我的下一个服务器项目。以前的版本是用语言 D 编写的,主要是同步实现。我们都知道,JS 使用了很多 async 这对性能有好处,但很难维护(至少对我来说)。因为 node 和它的 node 模块可能使用不同的异步方法(回调、promise 和 await/async),这使得代码看起来不一致。我正在寻找一种平衡的方法,它不仅可以创建高质量和高性能的节点应用程序,而且适合常见的编程风格。

问题

在第一轮原型设计之后,我有了我的第一台服务器。当我启动服务器时,它会首先读取配置,然后加载一组模块。我希望它们按顺序加载。但正如我上面提到的,节点模块可能以异步方式工作。我希望在加载模块 a 时准确加载模块 b,我必须使用Promise模式。我必须以疯狂的方式编写代码,尽管Promise这已经是一种对程序员非常友好的方法。

不,我去另一个方向。目前我选择deasync,它是 node 的 gyp 模块。它真的可以像这样阻塞代码执行。

或者像这样更神奇

IMO,这种deasync方式对我来说更直接,但我有两个担忧:

  1. 它需要针对目标平台进行编译,因此部署过程对于生产来说会很复杂。
  2. 我检查了它的问题列表。有一些已知的严重问题,例如在某些极端情况下挂起。

问题

即将到来的新功能async/await真的可以做同样的事情deasync吗?如果由于 JS 的性质,它永远不会发生。我可能会停止思考这个问题。

请在前往节点的路上与我分享一些灯。

0 投票
0 回答
104 浏览

javascript - 如何在异步编程 /node js 中处理这种情况

我正在用 nodejs 编写服务。请阅读以下内容,了解我为解决此问题而采取的方法。

首先,我调用一个休息端点(比如 /offers)来获取数据。说它 cloudSenseData

最终响应我需要按摩/操作数据以将所需的响应作为输出返回。

在按摩数据(来自上述调用)期间,我必须检查是否存在相关产品信息。

如果存在,我需要调用另一个休息端点(例如 /offers/:id/products), :id 是在先前调用(cloudSenseData)中获得的目录项,以获取更多相关的产品信息详细信息,我可以将其包含在最终的按摩输出中。

所以让我们说在 cloudSenseData 我有 10 个目录项。

这些是我在按摩数据期间正在执行的步骤:

  1. 在 cloudSenseData 上使用 async.map 并将其映射到所需的响应格式。(我用它来使事情并行完成)并有一个回调函数来满足需要
  2. 在根据需要进行响应的同时在回调中检查它是否具有相关产品信息,如果没有问题,否则我正在调用下游端点以使用 catologueItemId 获取更多相关产品信息。(这里我使用的是 deasync )

这需要比需要更多的时间。

谁能建议任何替代方法来解决这个问题?

使用代码更新:common-nodejs 是我们编写的一个库,它包含许多功能,例如使用 restify 调用其余端点、读取应用程序配置等。下面的代码在 typescript 中。希望这可以帮助。

}

0 投票
1 回答
825 浏览

javascript - Node js异步转换为同步

我需要将数据同步推送到数组。第一个 API 请求获取需要在循环内获取图像数据的图像密钥基础。

0 投票
2 回答
863 浏览

node.js - 休眠主线程但不阻塞回调

此代码有效,因为系统睡眠会阻止主线程的执行,但不会阻止回调。但是,我担心 system-sleep 不是 100% 可移植的,因为它依赖于依赖 C++ 的deasync npm 模块。

是否有任何替代系统睡眠的方法?

PS 理想情况下,我想要一个适用于 Node 4+ 的解决方案,但有总比没有好。

PPS 我知道睡觉不是最佳做法,但我不在乎。我厌倦了反对睡觉的争论。

0 投票
1 回答
580 浏览

node.js - npm deasync 导致电子崩溃

环境:Windows 10 Pro (x64) 和 electron 1.7.9 (也是 1.8.3 )

问题描述:使用“deasync”节点模块(版本0.1.11和0.1.12)导致渲染器进程崩溃。

在电子应用程序中,只需使用

var deasync = require('deasync')

作为创建 BrowserWindow 对象时的预加载,它会导致渲染器崩溃。

应用程序随机崩溃,并且每次您从锁定会话返回时:1. 运行应用程序 2. 锁定会话 3. 解锁会话 4. 渲染器崩溃

我也可以用

mainWindow.webContents.on('crashed', (event) => { log.error( "crashed: "); }); 有什么建议么?

0 投票
1 回答
2654 浏览

node.js - Windows - 错误:找不到绑定文件

使用 deasync 模块遇到奇怪的错误。

痕迹:

尝试了 npm i -g node-gyp 和 node-gyp rebuild 但没有任何运气 我错过了什么?我该如何解决它以及导致此错误的原因?