gpt4 book ai didi

javascript - 为什么 NodeJS 中 String 的 split 方法是同步执行的?

转载 作者:太空宇宙 更新时间:2023-11-04 01:02:19 25 4
gpt4 key购买 nike

我是 NodeJS 新手,在理解哪些类型的操作/任务是异步执行还是同步执行时遇到了一些困难。我正在研究的具体示例是分割字符串。

我试图计算文本 block 中新行的数量,然后将其打印出来。下面的例子有效。但是,我并不完全清楚为什么。我的基本(可能有缺陷)理解是任何需要时间的事情都是异步执行的(例如 I/O),但我不知道什么类型的操作算作“花费时间”。 Split() 方法“需要时间”吗?它必须循环遍历字符串的内容,如果字符串异常长,这可能需要一段时间,为什么会同步执行,或者只是 split 方法阻塞了?

我的问题是针对 split 方法的,但如果有人也可以谈论或指出一些文档的方向,这些文档解释了同步与异步执行的内容,我将非常感激!

var array = "test\nstring\nexample".split("\n");
console.log(array.length-1);

最佳答案

JavaScript 本身的大多数操作都是同步的。异常(exception)包括明显的异常(exception),例如 setTimeout()setInterval()requestAnimationFrame() 等。也只是因为您传入了回调并不意味着该函数是异步的(例如,请参阅一些数组方法,如 array.forEach()、array.map()、array. filter()、array.some() 等)。

Node.js(核心)构建在 JavaScript 之上(通过 v8 引擎),添加了自己的同步和异步方法。然而,很早就决定通过同步执行的函数的易于可见的 Sync 后缀来区分两者。然而,与 JavaScript 类似,也有一些异常(exception)(例如 require())。还应该注意的是,用户层模块(例如在 npm 上)可能有自己的约定(或根本没有),因此对于那些第三方模块,您需要阅读文档以确保其导出函数的行为。

关于javascript - 为什么 NodeJS 中 String 的 split 方法是同步执行的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26005061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com