Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 异步迭代器和生成器:流式GeoJSONL_Javascript_Async Await_Async Iterator - Fatal编程技术网

Javascript 异步迭代器和生成器:流式GeoJSONL

Javascript 异步迭代器和生成器:流式GeoJSONL,javascript,async-await,async-iterator,Javascript,Async Await,Async Iterator,我试图复制关于流式GeoJSONL文件的内容,这相当复杂 我试图一步一步地理解它的功能,但我真的搞不懂这个语法的功能: streamGeoJSONL = async ƒ*(url) 谁能给我解释一下吗?如果可能的话,我想在电视上找到一些关于它的东西 另外,如果有人能向我解释给定示例中的代码流,我将非常感激 谢谢 每当您看到语法异步函数*,就意味着该函数是一个异步生成器。通过在其生成的异步迭代器上使用,可以使用异步生成器 async函数*streamGeoJSONL(url){…}//Async

我试图复制关于流式GeoJSONL文件的内容,这相当复杂

我试图一步一步地理解它的功能,但我真的搞不懂这个语法的功能:

streamGeoJSONL = async ƒ*(url)
谁能给我解释一下吗?如果可能的话,我想在电视上找到一些关于它的东西

另外,如果有人能向我解释给定示例中的代码流,我将非常感激


谢谢

每当您看到语法
异步函数*
,就意味着该函数是一个异步生成器。通过在其生成的
异步迭代器上使用,可以使用
异步生成器

async函数*streamGeoJSONL(url){…}//AsyncGenerator
常量url=”https://s3.amazonaws.com/vtiles/honolulu_hawaii.geojsonl"
streamGeoJSONL(url)/=>异步迭代器
调用
AsyncGenerator
时,会得到一个
AsyncIterator
。这就是
AsyncGenerator
生成的:一个
AsyncIterator

您可以使用
异步迭代器
来等待

对于wait(streamGeoJSONL的const newFeatures(url)){/*使用newFeatures做一些事情*/}
在您的示例中,
newFeatures
接受由
streamGeoJSONL中的关键字
yield
返回的值

异步函数*streamGeoJSONL(url){
// ...
yield lines.map(JSON.parse)//这是newFeatures
}//异步发电机