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
- 【譯】ES2018 新特性:Promise.prototype.finally()Promise
- 使用反射為特性賦值反射賦值
- 測試 ES6 Promise 物件的鏈式傳值Promise物件
- ES6 Promise——then與catch的返回值實踐Promise
- JDK1.8新特性值OptionalJDK
- 如何在Typescript中定義Promise的返回值型別TypeScriptPromise型別
- Promise和Promise的方法Promise
- Golang 中由零值和 gob 庫的特性引起的 BUGGolang
- Promise之你看得懂的PromisePromise
- 內網穿透的作用 免費內網穿透有哪些?內網穿透
- Promise的用法Promise
- Promise的使用Promise
- 手撕遵循 Promise/A+ 規範的 PromisePromise
- async/await 和 promise/promise.all 的示例AIPromise
- jquery Promise和ES6 Promise的區別jQueryPromise
- JavaScript 在 Promise.then 方法裡返回新的 PromiseJavaScriptPromise
- 關於vue中props特性以及父子之間傳值的總結Vue
- JS 中的 PromiseJSPromise
- iOS中的PromiseiOSPromise
- Promise的基本使用Promise
- Hey, 你的PromisePromise
- Promise 的誤區Promise
- Promise的api整理PromiseAPI
- Promise 原始碼:實現一個簡單的 PromisePromise原始碼
- Promise的祕密(Promise原理解析以及實現)Promise
- 手寫實現滿足 Promise/A+ 規範的 PromisePromise
- 實現一個完美符合Promise/A+規範的PromisePromise
- Promise的原始碼實現(完美符合Promise/A+規範)Promise原始碼
- 'return await promise' 與 'return promise' 這細微的區別AIPromise
- ngrok穿透工具穿透
- Vue中的scoped及穿透方法Vue穿透
- 內網穿透神器 Ngrok 的使用內網穿透
- redis的雪崩、擊穿和穿透Redis穿透
- promisePromise
- js中的promise和thenJSPromise
- 簡單易懂的PromisePromise