Promise的值穿透特性
今天看promise相關知識,發現值穿透這個特性之前並不太瞭解,特此記錄一下
程式碼:
Promise.resolve(1)
.then(2) // 注意這裡
.then(Promise.resolve(3))
.then(console.log)
此程式碼輸出結果是1
再看下面程式碼:
Promise.resolve('foo')
.then(Promise.resolve('bar'))
.then(function(result){
console.log(result)
})
此程式碼輸出'foo'
繼續看下面程式碼
Promise.resolve(1)
.then(function(){return 2})
.then(Promise.resolve(3))
.then(console.log)
輸出2,沒問題
最後一個例子
Promise.resolve(1)
.then(function(){return 2})
.then(function(){return Promise.resolve(3)})
.then(console.log)
輸出3
結論:Promise方法鏈通過return傳值,沒有return就只是相互獨立的任務而已
相關文章
- Promise特性及用法Promise
- 記Promise一個容易被忽略的特性Promise
- ES6新特性Promise詳解Promise
- 測試 ES6 Promise 物件的鏈式傳值Promise物件
- ES6 Promise——then與catch的返回值實踐Promise
- 使用反射為特性賦值反射賦值
- ES6新特性:JavaScript中內建的延遲物件PromiseJavaScript物件Promise
- 如何在Typescript中定義Promise的返回值型別TypeScriptPromise型別
- Promise和Promise的方法Promise
- JDK1.8新特性值OptionalJDK
- 根據選擇的物料顯示其特性值
- swift語言新特性:可選值Swift
- 內網穿透的作用 免費內網穿透有哪些?內網穿透
- Golang 中由零值和 gob 庫的特性引起的 BUGGolang
- Promise之你看得懂的PromisePromise
- 【譯】ES2018 新特性:Promise.prototype.finally()Promise
- MySQL·8.0.0新特性·持久化自增列值MySql持久化
- PM-功能位置特性值批次更新程式
- Promise的使用Promise
- Promise的用法Promise
- 手撕遵循 Promise/A+ 規範的 PromisePromise
- jquery Promise和ES6 Promise的區別jQueryPromise
- JavaScript 在 Promise.then 方法裡返回新的 PromiseJavaScriptPromise
- async/await 和 promise/promise.all 的示例AIPromise
- ES6特性之:引數預設值
- 索引特性之儲存列值及ROWID索引
- ngrok穿透工具穿透
- 內網穿透內網穿透
- JS 中的 PromiseJSPromise
- iOS中的PromiseiOSPromise
- Hey, 你的PromisePromise
- Promise 的誤區Promise
- Promise的api整理PromiseAPI
- Promise的基本用法Promise
- Promise的基本使用Promise
- Promise的含義Promise
- Promise的祕密(Promise原理解析以及實現)Promise
- Promise 原始碼:實現一個簡單的 PromisePromise原始碼