问题标签 [asynchronous-javascript]

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

javascript - NodeJS - rl.on() - 在多行中读取多个数字

编辑:感谢您的回答。我得到了通过 Promises 实现以下目标的解决方案。如果没有它可以以更简单的方式完成,请回答:)

我需要采用如下标准输入

上面的变量形式

v 和 w 值将存储在 v[ ] 和 w[ ] 数组中

我怎样才能使用 rl.on() 来做到这一点?

我的代码如下所示。我不确定在调用问题2时如何传递'n',并且由于我不太清楚的异步行为,代码通常无法按预期工作。在 NodeJS 中的多行输入中获取多个数字的任何最佳实践都会有所帮助。

0 投票
1 回答
124 浏览

javascript - 如何从 .t​​xt 文件中读取行、保存在数组中并异步打印数组?

我有一个.txt要保存在 JS 数组中的文件,然后console.log是该数组。我从这个答案中知道如何将文件读入数组,但问题是当我尝试访问console.log数组时,它会将其记录为空。这是我的代码:

我想它console.log会等到数组完成填充fs.readFile(),所以它会打印填充的数组。请注意,我console.log在读取每一行时,以确认文本确实被推送到数组中。

有谁知道为什么这种方法行不通,或者我该如何以不同的方式做到这一点?我现在想坚持异步readFile而不是同步readFileSync。请注意,如果我确实想同步执行此操作,则此代码有效:

0 投票
2 回答
87 浏览

javascript - 异步 JavaScript 和 I/O

刚刚发现 async JavaScript,我一直在尝试概念化使用它的意义:当要解决一个问题时,我想能够从一开始就说:“这是一个我应该使用 async 的问题JavaScript!”,当然也相反。

我的第一个想法是开始(慢慢地)将所有内容转换为异步,以便在函数之间更好地交错。然后我意识到这种策略有很大的矫枉过正。有很多函数不需要异步,比如

所以现在我在想,从概念上讲,异步 JavaScript 的存在主要是为了更好的 I/O 处理。我认为它可能适用的唯一其他领域是长时间运行的脚本,以免阻塞 JavaScript 的单线程。

我应该说“这是异步工作!”的任何/其他地方?

0 投票
0 回答
107 浏览

javascript - 如何在组件中渲染异步结果(数组)?

我已经做 js 大约一个月了,我正在编写这个程序,我在其中使用 clarifai API 来查看照片上的人最像哪个名人。

我想将输出作为道具传递给 Rank 组件来渲染它,但我得到了

类型错误:clarifaiResults.map 不是 App.transformResponse 中的函数

基本上,我想作为道具传递的响应是 const clarifaiResults = response.outputs[0].data.regions[0].data.concepts[0].name; 我现在在 console.log 中得到的部分

我假设这是因为当应用程序尝试呈现组件时还没有输出,但我无法弄清楚代码有什么问题。谢谢!

应用程序.js


Rank.js

0 投票
1 回答
277 浏览

google-maps - 异步使用 DirectionServices

我是一名 Java 开发人员学生,但在理解如何在 Javascript 中正确编写异步函数时遇到了问题。我阅读了很多教程,但始终找不到实现正确异步方法的好方法。

我正在使用 Google Maps API 制作一个应用程序,并且在一种方法中我想使用 DirectionsService API 以便从结果对象中检索 overview_polyline 值。该方法做了它应该做的,但它在接收数据之前返回一个未定义的对象。

该方法如下所示:

“开始”和“结束”变量都是 Google 标记

getData 保持为空,所以我猜问题出在函数内

并且,作为参考,它是从这个也是同步的方法中调用的

代码片段(来自评论中的小提琴

0 投票
0 回答
504 浏览

reactjs - React 应用程序不断自行发送多个请求

我是新手,我正在尝试为我的项目构建一个天气应用程序。它不断将请求发送到我正在使用的 API,即 OpenWeatherMap API。我正在使用 Axios 发送请求。

这是我的代码的样子:

我尝试使用类组件,但无论哪种方式都不起作用。

0 投票
1 回答
213 浏览

javascript - 执行 javascript 异步函数并在 selenium 中返回结果

我正在尝试在 selenium 中执行以下脚本

但它正在回归

javascript 错误:await 仅在异步函数中有效

我也试过做

但它返回了以下错误

Selenium::WebDriver::Error::ScriptTimeoutError:脚本超时:30 秒内未收到结果

0 投票
0 回答
45 浏览

javascript - readline 传递了回调 on.close 执行顺序

在这里,我在执行回调函数on.close的函数中使用Readline模块。它以预期的顺序执行(代码on.close,然后是回调中的代码传递给它,这可以通过 console.log 语句看到),但是只有最终数组的一部分被复制(就像代码没有及时完成执行)。

示例输出:

我怎样才能得到这行代码:

像复制整个数组一样执行(不将其全部移动到一个函数中或使用异步/等待)?

0 投票
2 回答
139 浏览

angular - 为什么我无法访问 api 获取响应?

我是异步进程的新手,我不明白为什么我当前尝试存储从 fetch 请求到 api 的响应的方法不起作用。

我正在构建 Angular 应用程序,其中有一个 api.service.ts 文件,我在其中定义了我的 fetch 函数。当我在组件中使用这些函数并尝试使用响应设置变量时,在函数调用中我可以访问响应,但在外部它就像我从未设置变量值一样。

我的 api.service.ts 文件目前:

但是我也尝试过

我尝试在其中使用 api.service 的 component.ts:

我希望得到第一个和第二个 console.log(this.weather) 的结果,但是我得到第一个的结果(在 fetch 函数内),但第二个返回 undefined(在 fetch 函数之外)。我不确定我对这里的异步函数有什么不了解。当然,必须有一种方法来存储响应,以便可以在函数之外访问它。

我确实意识到我可以在 getWeatherCity 函数中修改我的 html,但这似乎是一个混乱且不可取的解决方案。

任何帮助将不胜感激。

0 投票
1 回答
53 浏览

javascript - Javascript 在不破坏应用程序的情况下创建异步函数

我有一个项目,其中有一个溢出的单杠。在开头和结尾有移动溢出位置的按钮。此时,用户必须单击按钮才能移动溢出。

我不想创建当悬停在它们上方时不断移动溢出直到到达终点或用户从按钮上移开鼠标时的按钮。编码

我试图将“oclick”更改为“onmouseover”并使函数异步。然后添加第二个“onmouseout”功能。但我一直在不断循环,网络应用程序中断。

我没有包含上面的代码,以免破坏浏览器。