promise相关内容
您好,我正在尝试检查令牌何时即将到期,并使用访问令牌重新加载它。 主要问题是,要重新加载它,我必须进行http调用以获取新的令牌,然后将其重新保存在会话存储中。 主要问题是,因为http是异步的,所以它会重新加载令牌,但因为我不知道如何等到此调用完成后才用新令牌重试原始调用,所以它失败了。 代码如下: AuthService: 这是正在被调用以更新令牌的服务 async relo
..
我正在制作一个调用GAS函数的Slack机器人。除了Slack显示错误消息外,其他一切都正常,因为它在调用API时只等待3秒的响应。 有没有人能帮我弄清楚如何异步运行Everyday 2,这样我就可以在响应完成之前返回响应。我尝试了承诺和回调,但解决不了这个问题。 function doPost(e){ const promise = new Promise(everyDay2)
..
假设我们有承诺列表[p1,p2]。 我想创建一个以[p1,p2]作为参数并返回最后解析的承诺的函数,即在本例中,返回的承诺将是p2。 动机是我要在Promise对象上实现last()方法。 const p1 = new Promise((resolve,reject)=>{ setTimeout(()=>{resolve("P1 resolved in
..
我一直在使用ES6 Promise。 通常,承诺是这样构建和使用的 new Promise(function(resolve, reject){ if (someCondition){ resolve(); } else { reject(); } }); 但为了灵活起见,我一直在做下面这样的事情,将决心放在外面。 v
..
我需要在我的邮递员测试中使用一些异步代码。 因为这是一个复杂的场景,所以我用以下代码在一个非常简单的测试中重现了该场景: let promiseNumber = 0; function resolvedPromise() { return new Promise((resolve, reject) => { pm.sendRequest('https://po
..
我正在使用message.react函数和awaitReactions函数,我注意到了一些困扰我的事情。 我正在尝试确定应该为以下方法使用收集器还是client.on('messageReactionAdd')(这是另一个问题): 发送消息 添加反应 每次添加反应时执行某项操作(持续X秒) 所以我从一个简单的例子开始,用一个过滤器,每次都会返回true,我注意到收集器正在收集
..
我有一个页面(动态路由),我在其中从Load函数中的API获取数据。在获取数据之前,显示加载指示器的正确方式是什么?我尝试过的内容: 使用等待块。我返回一个获取函数的承诺,然后在正常的脚本标记中,我导出一个承诺变量。然后,我在操作数据后手动解析此承诺。 export async function load({ fetch, pag
..
我们有一个简单的等待方法,它利用节点应用程序中的承诺 exports.wait = (timeout) => { return new Promise((resolve) => { setTimeout(() => { resolve() }, timeout) }); }; 我们尝试使用sinon和chai测试此行为。 我们设法使用Chai-a
..
在具有FireStore和angularFire2的角度5中,通过控制器从服务获取文档时处理错误的正确方法是什么? 服务: getInviteById( inviteId: string ): Promise { // get requested invite from firestore var inviteDocument = this.af
..
我想知道是否可以调用promise.get_Future(),将那个未来移到其他地方(例如,移到一个向量中),甚至在调用future.get()之前就让承诺消亡。在下面的示例中,调用gateway->refreshWithCallback在线程中执行lambda,以便共享指针可以将Promise设置为释放,即使在第二个循环中还没有调用future.get(),这似乎是有效的,但我感到不安!
..
我当前正在尝试为Visual Studio代码编写扩展,但我无法理解如何阅读剪贴板内容。 VSCode API指定此方法: readText ():Thenable 按照我读到的Thenable,我应该能够获得剪贴板的文本: var clipboard_content = vscode.env.clipboard.readText().then((text)
..
我在NodeJS中的IPC上工作,希望能够从子进程向父进程发送消息并“等待”结果。我的想法是跟踪映射中的所有发送消息,该映射将唯一的消息ID映射到承诺。调用process.on('message`)后,我将根据从父级返回的ID查找承诺,并希望解析或拒绝该承诺。 我想出了这个,但我被解决/拒绝部分卡住了: 'use strict' import RequestMessage from
..
我正在尝试创建一个for循环,该循环在每次迭代时更新OpenLayers地图的参数,一旦更新,它将提取地图画布的上下文并将其添加到GIF对象中。我需要这些来同步运行,以始终允许地图和层渲染,只有这样才能添加上下文。我目前比较棘手的解决方案是使用固定时间的setInterval,但正如question中建议的那样,我应该使用Async/AWait/Promises。我的问题是,我如何着手将我的函数包
..
根据MDN: Executor函数由Promise实现立即执行,传递Resolve和Reject函数 做出这一决定的实际原因是什么? 为什么承诺不偷懒? 推荐答案 做出这一决定的实际原因是什么? 带有回调的Promise构造函数只是一个improvement over the older deferred pattern。回调从来不是为了在计算时间上提供选择,它应该为
..
我希望Promise处理程序记录Promisep1(不是值“A”),因为console.log是用p1直接调用的。然而,它不知何故记录了“A”。承诺p1如何在不被调用的情况下自动解析为“A”?例如,console.log(p1)并不像预期的那样直接输出“A”。幕后发生了什么事吗? 数据-lang=“js”数据-隐藏=“假”数据-控制台=“真”数据-巴贝尔=“假”> var p1 = new
..
我想看看JavaScript Promisse的源代码。我尝试了toSource(),但它仍然只显示ƒ Promise() { [native code] }。有什么方法可以让我查看本机代码吗? 推荐答案 Promise内置于V8Java解释器中,并且部分在解释器内部的本机代码中实现。包括V8 JS引擎在内的所有node.js代码都可以在Github上https://github.co
..
我对下面的示例感到困惑。 我理解为什么output2是[1000,2000,3000]是因为闭包,这就是map()中的所有异步函数更新相同数组output2的原因。(如果我错了,请纠正我的概念。) 但是,我不明白为什么output1是[3000]。 我可以知道为什么run1的行为不像run2吗?你能告诉我有什么不同吗? 数据-lang=“js”数据-隐藏=“假”数据-控制台=“真”
..
所以基本上我希望异步执行两个同步承诺。如下所示: (function foo() { var newValues = ...; this.getMessages().then((msgs: Array) => { this.saveMessages(msgs.concat(newValues)); }); })() 现在,因为我不想等待saveMessage
..
有没有其他方法可以实现在当前stack为空之后在message queue上计划运行的回调函数的相同行为? 换句话说,有没有办法,无论是使用Promises还是第三方包,将回调推送到task queue,使其在当前stack为空后运行? 换句话说,传递0到setTimeout以利用异步回调有哪些等价/替代方法? 欢迎回答所有环境和所有ECMAScript版本。 推荐答案
..
我有两个独立的div元素,并且我有一个定义每个元素的函数,并且应该只作用于该元素。因此,当我调用typeField(name,element1)时,它应该只键入element1,类似地,然后我调用typeField(address,element2),它应该只键入element2..但目前,如果你检查我的代码实现,它混合了字符,我不确定为什么。 在此之后,我还需要找到一种方法,首先输入要输入的姓
..