JS(node.js)-如果我进行异步调用但不等待其完成,是否可以保证完成执行?

n00b

标题是一个长期的问题,但是如果我使用javascript进行异步调用但没有回叫或将其链接到Promise中,它将完成执行吗?即如果我有像这样的代码:

function markAsInactive(userId) {
    return retrieveUser(userId) // 
    .then(res => {
       const mark = markAsInactive(userId) // returns a promise (say takes 2 seconds)
       return Promise.resolve('blah')
    })
    .then(...etc)
    .catch(...)
}

markAsInactive已触发对的调用,但线程不等待它解决,而是then立即转到下一个(据我所知)。如果堆栈返回到根目录,是否可以保证完成执行,或者线程/进程会取消调用?

我知道我可以使用return Promise.all([mark, ...])多个承诺并行解决的方法。这个问题更适合我。

TJ人群

如果堆栈返回到根目录,是否可以保证完成执行,或者线程/进程会取消调用?

通话结束。所有异步操作最终都将退出当前作业(任务),然后再对其进行进一步的工作,从而完全退出堆栈。是给定线程上JavaScript基于作业的本质所固有的(而NodeJS使用单个线程),并且保证then回调可以保证是异步的。

如果NodeJS在完成之前终止,则该工作将无法完成,但是当有任何未完成的任务,I / O操作等时,NodeJS会继续运行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JS(node.js)-如果我进行异步调用但不等待其完成,是否可以保证完成执行?

来自分类Dev

递归,Node js和异步调用

来自分类Dev

Node.js杀死异步调用

来自分类Dev

Node.js /使Redis异步调用

来自分类Dev

node.js redis 异步调用

来自分类Dev

node.js继续执行而无需等待要求完成。

来自分类Dev

等待请求完成Node.js

来自分类Dev

等待操作在node.js中完成

来自分类Dev

node.js等待文件操作完成

来自分类Dev

Node.js强制等待功能完成

来自分类Dev

Node js:等待 100 个请求完成

来自分类Dev

Node js,函数执行

来自分类Dev

Node.js在异步(可读)完成之前完成(结束)流

来自分类Dev

Node.js的异步调用和递归

来自分类Dev

AngularJS和Node.js的异步调用

来自分类Dev

Node js,函数不等待响应

来自分类Dev

在node.js中同步调用

来自分类Dev

Node.js同步与异步

来自分类Dev

Node.js异步读写

来自分类Dev

Node.js:通过异步调用顺序完全执行Websocket响应

来自分类Dev

如何在Node.js中等待子进程完成?

来自分类Dev

是什么导致node.js等待请求完成?

来自分类Dev

Node.JS等待每个并行mysql查询完成

来自分类Dev

Node.js中的功能编程-等待功能完成

来自分类Dev

node.js:等待所有线程完成

来自分类Dev

Node.js等待for循环完成以mysql查询

来自分类Dev

node.js并行执行

来自分类Dev

wget的Node.js执行

来自分类Dev

从js文件执行node命令