Promise是延迟计算的一种策略,适用于多种并发风格:本地计算的线程和事件循环并发,以及同步和异步远程消息传递。 promise表示异步操作的最终结果。使用promises的主要方法是通过一种方法,将promise的最终值或失败原因的转换注册到新的promise。
错误 TS2550:类型“PromiseConstructor”上不存在属性“any”
** 代码 : 异步函数 fetchDataWithDelay(延迟:数字,数据:字符串) { 返回新的 Promise((解决, 拒绝) => { setTimeout(() => 解析(数据), 延迟); }); } 异步函数 fetchAnyData...
我正在尝试执行查询并获取结果,当查询全部完成后,执行“sendSoapMessage(soapMessageJson)”。然而我发现每次运行这个程序时,soapMessageJson 都是 e...
为什么这段代码输出顺序与React中Promise-setTimeout-regular代码链预期的不一样
我对下面代码的输出感到困惑,就像这样; 设置超时(()=> { console.log("Timeot内码"); }, 500); 承诺内部(); console.log("常规...
我正在使用一个脚本将交易从我的卡网站发送到本地主机,本地主机准确地接收了它并且还成功发送了 json 响应,但之后 console.log 没有显示...
如何找出 Promise.any 解决了哪个 Promise?
我正在使用 Promise.all 进行一些批量 IO,但最终我通过一次创建太多 IO Promise 达到了打开文件的限制。因此,我制作了一个实用程序,它将批量运行这些承诺......
如何将axios和promise的代码迁移到TypeScript?
我有一个用 Vue 2(选项 API)/JavaScript 编写的项目。目标是迁移到 Vue 3(Composition API)/TypeScript。 有一段与 API 一起使用的代码,但我不明白一些 TypeScript
Promise .then() 在 for 循环内按顺序运行
我试图通过多个连续的 API 调用来依次填充我的 $scope.results = [] 。顺序很重要,因为我传递了一个开始和一个限制数字(类似于分页)。有一个
我想将await Promise.all与axios一起使用,以便可以同时发送请求。我有一个地图,其中键作为 id,值作为 url。我想也以类似的方式保留输出...
有什么方法可以在 AngularJS 2 中组合 Promise 吗? 例如,在 Angular 1 中,我会使用 $q.all 将多个请求组合成一个承诺。 Angular 2 有等效的吗?
`for wait` 和等待从同步迭代获得的 Promise 之间有什么区别?
我知道有很多资源解释await...of,但我认为我不会完全掌握这个概念,直到我看到一个以完全相同的方式工作但具有更基本语法的示例。 ...
我知道有很多资源解释await...of,但我认为我不会完全掌握这个概念,直到我看到一个以完全相同的方式工作但具有更基本语法的示例。 ...
如何使用 Promise 等待 Javascript 库加载?
我正在构建一个解决方案,其中多个Javascript库根据用户的交互在不同的时间点动态加载。加载库后,
我对 Angular 和 Promises 有疑问,我不明白。 这是我的html: 准备好了吗? {{准备好了}} 显示这个 我对 Angular 和 Promises 有疑问,我不明白。 这是我的html: <div>Is Ready? {{isReady}}</div> <div *ngIf="isReady">Show this</div> <div *ngIf="!isReady">Show that</div> 这是我的 TS 文件: isReady: boolean = false; constructor( private myService: MyService){ await this.giveMeSlowData(); } async giveMeSlowData() : Promise<void>{ console.log(await this.myService.getResult()); this.isReady = await this.myService.getResult(); } 通常,一旦 TS 文件中的变量发生变化,HTML 中的 {{}} 中的所有内容都会发生变化。 但现在不行。 5-6 秒后我可以看到控制台日志,但 HTML 没有改变。为什么? 谢谢大家! 有几个原因导致此操作从未完成但您仍收到控制台日志。 实际问题 你有一个 async 方法,它永远不会返回任何内容。这使得 Promise 永远悬着。由于在构造函数中对挂起的 await 调用了 Promise,因此组件将永远不会完成初始化。您可以通过在 ngOnInit 中添加日志语句来测试这一点。 推荐 我强烈鼓励您改用 Observable,因为这是 Angular 世界的标准做法。许多组件销毁的事情都会以这种方式自动为您处理。您甚至可以在不需要更改 MyService 的任何逻辑的情况下执行此操作,如果必须保留为基于 Promise 的类,这会很方便。 所有初始化逻辑都应在 ngOnInit 方法中处理,而不是在构造函数中。 我鼓励您在所有这些方面改用模板中的 async 管道。 解决方案 这就是这一切如何结合在一起的。 slow-data.component.ts: isReady: Subject<boolean> = new BehaviorSubject(false); constructor( private myService: MyService, ) { } ngOnInit(): void { giveMeSlowData(); } giveMeSlowData(): void { from(this.myService.getResult()).subscribe(isReady); } slow-data.component.html <div>Is Ready? {{isReady | async}}</div> <div *ngIf="isReady | async">Show this</div> <div *ngIf="!(isReady | async)">Show that</div> 为什么要调用 this.myService.getResult() 两次? 试试这个: async giveMeSlowData() : Promise<void>{ this.isReady = await this.myService.getResult(); console.log(this.isReady); }
我对 std::future 和 std::promise 之间的区别感到困惑。 显然,他们有不同的方法和内容,但实际用例是什么? 是吗?: 当我管理一些异步时
我正在构建一个解决方案,其中多个Javascript库根据用户的交互在不同的时间点动态加载。加载库后,
我有一个 Angular/Django 应用程序,当我重复刷新页面时,在大约 10% 的情况下,lastValueFrom 的结果为空。不过,其余时间,我都能看到正确的数据。 这是我的
我正在从电子表格中获取和处理数据,如下所示: const getJsonSheet = async () => { const 响应 = 等待 fetch(''); 常量数据...
这可能看起来是一个愚蠢的问题,但我是这个主题的新手。我正在 Nodejs 上使用 Promise,并且想将参数传递给 Promise 函数。但是我不知道如何...
我是 javascript 的新手,现在正在学习 Promise 部分。 下面我一直在尝试用 setTimeout 编写一个承诺链,并期望它在 2 秒后打印“第一个结果”,并打印“...
我正在使用一个节点库,它允许发出简单的http请求并返回一个承诺 - 这工作得很好,因为它允许并行发出几个请求,然后我稍后会收集它们......