同步使用获取承诺
Using a fetch promise synchronously
我需要一个同步函数(它可以是阻塞的)。
我需要使用 Fetch,当 promise 准备就绪时,我想 return 它在同步函数上。
我到处都找不到答案。
你不能像这样阻塞主线程,浏览器不允许你(或 nodejs,因为我不知道是哪个)。没有同步的方式来获取这样的信息。您可以改为使用 async
/await
让您的代码避免回调。做你想做的事可能是非常不明智的,并且有更好的解决方案,但由于缺乏上下文,我不能告诉你更多。
I need a synchronous function
不太可能。
(it can be blocking).
这就是同步的意思。
长 运行 阻塞函数(包括网络操作)会导致严重的可用性问题,应该避免。
I need to use Fetch, and when the promise is ready, I want to return it on the synchronous function.
那是不可能的。
XMLHttpRequest
有一个同步模式,尽管它已被弃用并且 不应使用 .
您可以通过将 false
作为第三个参数传递给 open
来激活它。
xhr.open("METHOD as string", "URL as strong", false);
fetch
吸取了 XMLHttpRequest
的教训,并没有实施任何类似的东西。
改为了解如何处理异步代码。 async
和 await
关键字可让您以同步 样式 .
写入
我需要一个同步函数(它可以是阻塞的)。
我需要使用 Fetch,当 promise 准备就绪时,我想 return 它在同步函数上。
我到处都找不到答案。
你不能像这样阻塞主线程,浏览器不允许你(或 nodejs,因为我不知道是哪个)。没有同步的方式来获取这样的信息。您可以改为使用 async
/await
让您的代码避免回调。做你想做的事可能是非常不明智的,并且有更好的解决方案,但由于缺乏上下文,我不能告诉你更多。
I need a synchronous function
不太可能。
(it can be blocking).
这就是同步的意思。
长 运行 阻塞函数(包括网络操作)会导致严重的可用性问题,应该避免。
I need to use Fetch, and when the promise is ready, I want to return it on the synchronous function.
那是不可能的。
XMLHttpRequest
有一个同步模式,尽管它已被弃用并且 不应使用 .
您可以通过将 false
作为第三个参数传递给 open
来激活它。
xhr.open("METHOD as string", "URL as strong", false);
fetch
吸取了 XMLHttpRequest
的教训,并没有实施任何类似的东西。
改为了解如何处理异步代码。 async
和 await
关键字可让您以同步 样式 .