草庐IT

promises

全部标签

javascript - rsvp.js 如何使用失败回调链处理被拒绝的 promise

回复:https://github.com/tildeio/rsvp.js我有一个名为doSomething()的函数,它会做一些事情一段时间然后返回一个RSVP.Promise。然后,一连串的成功和失败回调是用返回的promise注册(见下面的代码)。我期望的行为是,如果promise得到履行,成功回调链注册promise将被解雇,如果promise被拒绝(失败),链将触发失败回调。我得到了promise实现时的预期行为,但是我得到了当promise被拒绝时,行为与我预期的不同。那是,成功回调被链接起来,一个成功回调的输出被传递到链中的下一个成功回调。但似乎失败回调没有链接。它们的行

javascript - 为什么 Promise.resolve().then() 会延迟?

我不明白为什么resovedPromise延迟.then()参数调用?例子:varmyPromise=Promise.resolve();console.log(myPromise);myPromise.then(()=>console.log('a'));console.log('b');控制台返回:>Promise{:"fulfilled",:undefined}>"b">"a"如果myPromise已经完成,为什么.then()不立即调用resolve函数? 最佳答案 因为,根据规范,promises在当前执行线程展开并完成返

javascript - 返回 promise 与返回 promise 中的未定义之间的区别

我不确定我是否理解这两种常见情况之间的区别。假设我们有这个:user.save().then(function(val){anotherPromise1(val);}).then(function(val){anotherPromise2(val);}).catch(function(err){});对比:user.save().then(function(val){returnanotherPromise1(val);}).then(function(val){returnanotherPromise2(val);}).catch(function(err){});我知道这会有所不同

javascript - 如何在 Node JS FS 模块中使用 Typescript Async/await with promise

如何在nodejsFS模块中使用Typescriptasync/await函数并返回typescript默认promise,并在promise解决后调用其他函数。代码如下:if(value){tempValue=value;fs.writeFile(FILE_TOKEN,value,WriteTokenFileResult);}functionWriteTokenFileResult(err:any,data:any){if(err){console.log(err);returnfalse;}TOKEN=tempValue;ReadGist();//otherFSreadFileca

javascript - 如何在拒绝时链接 promise

给定一个函数fn,它返回一个promise和一个任意长度的数据数组(例如data=['apple','orange','banana',.....>fn,但是如果fn(data[i])拒绝,下一个调用fn(data[i+1])会执行吗?这是一个代码示例://thiscouldbeanyfunctionwhichtakesinputandreturnsapromise//oneexamplemightbefetch()constfn=datum=>newPromise((resolve,reject)=>{console.log(`trying${datum}`);if(Math.ran

javascript - 关于 ES6 中的 Promise 链

我对ES6中的Promise链感到困惑。functiontaskA(){console.log("TaskA");thrownewError("throwError@TaskA")}functiontaskB(){console.log("TaskB");}functiononRejected(error){console.log(error);//=>"throwError@TaskA"}functionfinalTask(){console.log("FinalTask");}varpromise=Promise.resolve();promise.then(taskA).t

javascript - 未处理的 promise 拒绝警告 : This error originated either by throwing inside of an async function without a catch block

我的Node-Express应用出现以下错误UnhandledPromiseRejectionWarning:Unhandledpromiserejection.Thiserrororiginatedeitherbythrowinginsideofanasyncfunctionwithoutacatchblock,orbyrejectingapromisewhichwasnothandledwith.catch().(rejectionid:4)至少可以说,我创建了一个看起来像这样的辅助函数constgetEmails=(userID,targettedEndpoint,headerA

条件是 promise 的 Javascript while 循环

是否可以在条件为promise的情况下制作原生JavaScriptwhile循环?编辑:我想要做的是在将文件上传到firebase存储之前实现检查,以查看firebase存储中是否已存在同名文件。如果已经有同名文件,则添加一个随机后缀并再次检查。varstorageRef=firebase.storage().ref().child(fileName);while(storageRef.getDownloadURL()){//createrandomnumberinbetween0and100varrandom=Math.floor((Math.random()*100)+1);sto

javascript - typescript : Type 'Promise<{}>' is not assignable to type 'Promise<void>'

我有以下功能:lettemplateLoader=(onDidFinishLoad:Function,onDidFailLoad:Function)=>(url:string):Promise=>newPromise((resolve,reject)=>{mainWindow.loadURL(url);mainWindow.webContents.once('did-finish-load',()=>{onDidFinishLoad(resolve);});mainWindow.webContents.once('did-fail-load',(event,errorCode,erro

Javascript promise 序列

我想按顺序处理一些promise。我有一个workingpieceofcode下面,但我想知道我是否将promise的链接过于复杂。我似乎正在创建大量新的闭包,我挠头想知道我是否遗漏了什么。这个函数有没有更好的写法:'usestrict';addElement("first").then(x=>{returnaddElement("second")}).then(x=>{returnaddElement("third")}).then(x=>{returnaddElement("fourth")})functionaddElement(elementText){varmyPromise