问题标签 [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 回答
279 浏览

node.js - 如何在 Nodejs Azure Function App 中正确使用 await/async

我正在尝试编写代码以使用 nodejs 堆栈与天蓝色函数应用程序中的雪花连接。这是我编写的代码。

我得到的输出是:

但我需要的是:

我对nodejs很陌生。请帮我解决这个问题

0 投票
1 回答
344 浏览

javascript - 在调用堆栈为空后,是否只有一些特定的回调在 Nodejs 的事件循环中处理?

嗨,我是 Node.js 的新手,很难理解回调、回调队列及其处理方式。我的问题是,什么样的回调会进入 Node 中的回调队列?它是否必须是节点特定 APIS、npm 包和 web API(如 setTimeOut、request())内部的回调,才能添加到回调队列中,以便在主调用堆栈为空后执行?或任何类型的回调进入 node.js 中的回调队列?

0 投票
0 回答
243 浏览

javascript - React Native Geolocation:为什么这个异步函数返回未定义?

我有以下功能:

它调用这个函数

当我调试时,我发现代码确实到达了该return 1行,但func它总是设置locationundefined. 我在这里的异步调用做错了吗?

0 投票
2 回答
959 浏览

reactjs - React - 如何使用已解决的承诺中的数据设置状态

我正在努力将我的数据从获取请求中获取到我的容器状态

我的 fetch 请求存储在 api.js 中,看起来像这样 - 它从一个很好的常量中检索密钥:-

我的容器看起来像这样:-

我有一个 IIFE 发出请求并将结果打印到控制台。您可以在上面的类声明和导出语句之间看到这一点。

这是控制台的结果 - 请求工作正常

我无法做到的是使用已解决的承诺中的数据设置状态。我尝试了各种方法,包括我见过的一些不起作用的解决方案。

如何在容器中放置和运行该函数,然后使用数据更新状态?

你可能知道,我对 React 还是很陌生。

以诚挚的谢意,

菲尔

0 投票
1 回答
208 浏览

javascript - 如何使 jQuery replaceWith() “非阻塞”(异步)?

我正在使用该函数replaceStr()替换正文标记中的一些字符串。如果 html 页面很小,则替换不明显。但是如果 html 页面更大更复杂,你会注意到它。替换正在阻止浏览器。我的问题,如何使替换非阻塞?替换对页面并不重要,因此它可以在浏览器不忙时在后台发生。我尝试使用asyncawait,但我认为该replaceWith()函数无法处理 Promises,这就是它不能与async/await一起使用的原因。但是你怎么能做到呢?

感谢您的帮助。

0 投票
0 回答
31 浏览

promise - 用于运行并行作业的异步方法

我正在使用具有以下步骤的程序:

  1. 从数据库中获取用户数据(它有超过 2000 个用户
  2. 获取所有用户的角色列表(每个用户可能有角色)
  3. 向具有更多角色的用户发送邮件

同步运行它们将花费大量时间。需要一个多小时。我正在进行多个 axios 调用以从服务器获取数据。我希望在进入下一个触发邮件的方法之前等待所有这些作业完成的逻辑。

我试过了Promise.all,但我只能传递一个同名的参数。就我而言,我正在使用相同的变量名在 for 循环中调用 axios。

你能帮我解决这个问题吗?

0 投票
0 回答
17 浏览

javascript - 回调返回的对象本身没有运行方法

我编写了一个通过 jquery-ajax 发送 get 请求的代码,我也使用回调来返回这个请求的结果。但是返回的值本身没有适用的方法(当我按 alt+space 时我什么都没有菜单)。问题是为什么?任何解决方案?

例如,如果我想像这样运行代码的最后一部分:(将 find 方法添加到响应中)

我将收到以下错误:未捕获类型错误:response.find 不是函数

0 投票
1 回答
89 浏览

node.js - 使用nodejs自监控mongodb

我想为我的所有用户(他们各自的数据库)从 nodejs 上的 mongodb 获取服务器状态数据。除非用户使 x 字段为假,否则我必须重复执行此操作。N 当他再次将其变为真时,我将不得不再次开始获取数据。我想每次都启动异步功能,但我不知道如何停止它。有没有更好的方法来解决这个问题?

0 投票
2 回答
140 浏览

javascript - 如何在继续使用 Javascript 之前等待整个递归完成?

我是 reactJS 的新手,正在尝试构建一个排序可视化器。我面临的问题是在实现 quickSort() 例程时。
我的 quickSort() 例程如下:

我有一个 .then 与 Partition 函数的原因是因为我在 Partition 例程中使用 async/await 来制作动画。然后分区例程返回分区“q”的值,然后可以进行递归。Partition 函数返回一个promise,它的值是分区值'q',没有它递归就不能继续,因此是'.then'部分。

现在,代码运行正常,但我想添加更多功能。我从 quickSortHelper() 例程内部调用这个 quickSort() 例程。在 quickSortHelper() 我首先禁用一个按钮,然后调用 quickSort() 并在完成 quickSort() 后我想再次启用该按钮。但问题是 quickSort(array, 0 , n-1) 仅在第一次调用后返回,因此该按钮立即被禁用和启用,而无需等待整个递归展开。

我尝试从 quickSort() 内部返回一个承诺,以确保当承诺得到解决时,我们才会继续启用按钮。但是承诺会在 1-2 次迭代后解决(这是有道理的,因为我认为函数会返回 p>r 的那一刻),因此按钮无需等待整个递归完成即可启用。

对于如何解决这个问题,有任何的建议吗?有没有办法暂停执行,直到 quickSort() 完成,然后继续启用按钮的工作?

还有一件事,console.log(this.state.generateButton) 输出错误。所以它永远不会将状态设置为true?我不明白为什么会这样?

0 投票
1 回答
32 浏览

javascript - 使用 Chai 请求调用异步函数

如何在使用 Chai 作为断言库时断言来自异步函数的值

这可以通过 chai request.Response 来实现。然后但不解决