有关代码执行和javascript阻止/非阻止的性质的问题

基本上,我的代码与下面的代码相似,我不确定要始终执行什么执行顺序。现在,我想它以非阻塞方式执行,即

<ng-container matColumnDef="roleFunctions">
          <th mat-header-cell *matHeaderCellDef mat-sort-header>Functions</th>
          <td mat-cell *matCellDef="let row">
            {{ item }}
          </td>
        </ng-container>

但是我曾经有过

func() -> self.db.createEntry() -> res.on() -> callback -> self.submit()

我无法控制何时调用func() -> self.db.createEntry() -> callback -> res.on() -> self.submit() ,因为它是套接字事件侦听器,并且在单独的服务器上进行处理。我想恐怕在res.on('data')中间会调用回调函数,这可能会发生吗?说res.on()正好在执行过程的中间,回调函数可以中断它吗?

res.on()
tinlud 回答:有关代码执行和javascript阻止/非阻止的性质的问题

在功能中JavaScript代码中途切换的唯一方法是由于yield指令。

您当前的功能不包括此功能。

yield也很少使用。取而代之的是,我们使用回调(async / await代码是类固醇的回调-语法糖使编写代码变得容易得多,而无需使用大量用于处理长链回调的内联函数,而且方法也更简单也可以处理错误)。

self.submit()将生成这样的回调,但是res.on()本身不会中途停止

请记住,JavaScript仍然是事件驱动的,并且不使用多个线程。因此一次只能执行一个功能。

如果顺序(callback -> res.on()res.on() -> callback)无关紧要,那您就走了。

本文链接:https://www.f2er.com/3164148.html

大家都在问