dfi*_*dfi 1 javascript asynchronous promise es6-promise
我在多个网站上看过,promise.prototype中的.then()方法返回一个promise.不幸的是,没有消息来源描述这背后的原因.
then()方法返回一个Promise.它最多需要两个参数:Promise的成功和失败案例的回调函数. - developer.mozilla.com
为什么/何时需要此返回的promise对象,此promise对象与原始对象的关系如何.
非常感谢您的帮助.
承诺是异步执行的,你永远不知道then()将被执行的时间.
并且promise可以返回一个promise,这允许您在单行代码中链接异步事件处理.
Mozilla给出的示例代码:
doSomething().then(function(result) {
return doSomethingElse(result);
})
.then(function(newResult) {
return doThirdThing(newResult);
})
.then(function(finalResult) {
console.log('Got the final result: ' + finalResult);
})
.catch(failureCallback);
Run Code Online (Sandbox Code Playgroud)
它避免了"厄运金字塔":
doSomething(function(result) {
doSomethingElse(result, function(newResult) {
doThirdThing(newResult, function(finalResult) {
console.log('Got the final result: ' + finalResult);
}, failureCallback);
}, failureCallback);
}, failureCallback);
Run Code Online (Sandbox Code Playgroud)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |