javascript 承诺勉强したので谁かに伝えたい

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 承诺勉强したので谁かに伝えたい相关的知识,希望对你有一定的参考价值。

// // ***2つのケースでPROMISEの実行タイミングを調べる***
// function thisFunctiontakesFewSeconds (message) {
//     // ここは処理を定義下にすぎない
//     return new Promise(function(resolve, reject){
//         setTimeout(function() {
//             console.log('settimeout is fired')
//             return resolve(message);
//         }, 1000);
//     })
// }

// function isThisPromise(target){
//     console.log(target)
// }

// function case3(callbackReturnPromise) {
//     return callbackReturnPromise('ただpromiseを返すメソッドを実行してみる');
// }

// function case4(callbackReturnPromise) {
//     return callbackReturnPromise('ただpromiseを返すメソッドを実行してみるそのあとにthenを実行').then((message) => {
//         console.log(message)
//     })
// }

// // case1 promiseオブジェクトを生成しただけ
// isThisPromise(thisFunctiontakesFewSeconds('ただpromiseを返すメソッドを実行してみる'));

// // case2 case1ではpormiseの内部の処理が実行されていないので、thenをしたら事項される?
// isThisPromise(thisFunctiontakesFewSeconds('ただpromiseを返すメソッドを実行してみるそのあとにthenを実行').then((message) => {
//     console.log(message)
// }));

// // case3 これはただpromiseを返している1と同じ結果になるよね
// isThisPromise(case3(thisFunctiontakesFewSeconds));

// // case4 これは結果は完全にcase2と同じになるはずだよね
// isThisPromise(case4(thisFunctiontakesFewSeconds));

// ***Promise.resolveとnew Promiseの違いを考えてみる***
// function thisFunctiontakesFewSeconds (message) {
//     // ここは処理を定義下にすぎない
//     return Promise.resolve(function(){
//         setTimeout(function() {
//             console.log('settimeout is fired')
//             return message
//         }, 1000);
//     })
// }

// function isThisPromise(target){
//     console.log(target)
// }

// function case3(callbackReturnPromise) {
//     return callbackReturnPromise('ただpromiseを返すメソッドを実行してみる');
// }

// function case4(callbackReturnPromise) {
//     return callbackReturnPromise('ただpromiseを返すメソッドを実行してみるそのあとにthenを実行').then((message) => {
//         console.log(message)
//     })
// }

// // case1 promiseオブジェクトを生成しただけ
// isThisPromise(thisFunctiontakesFewSeconds('ただpromiseを返すメソッドを実行してみる'));

// // case2 case1ではpormiseの内部の処理が実行されていないので、thenをしたら事項される?
// isThisPromise(thisFunctiontakesFewSeconds('ただpromiseを返すメソッドを実行してみるそのあとにthenを実行').then((message) => {
//     console.log(message)
// }));

// // case3 これはただpromiseを返している1と同じ結果になるよね
// isThisPromise(case3(thisFunctiontakesFewSeconds));

// // case4 これは結果は完全にcase2と同じになるはずだよね
// isThisPromise(case4(thisFunctiontakesFewSeconds));

// // 結論からいうとpromise.resolveはfunctionを引数に取って実行はできない 渡していいのはprimitiveな値か、thenableな値

// // Promise.resolveはモナドの一つでPromiseと普通のデータの間のデータの取得を抽出してくれてまだthenableオブジェクトを作成する何が可能かというとpromiseの中のpromiseをさけることができる
// console.log(Promise.resolve(3))
// console.log(Promise.resolve(new Promise((resolve, reject) => {
//     resolve(3)
// })))
// Promise.resolve(3).then((val) => {
//     console.log(val)
// })
// Promise.resolve(new Promise((resolve, reject) => {
//     resolve(3)
// })).then((val) => {
//     console.log(val);
// })

//console.log(Promise.resolve(3).then((val) => {
//    //
//    return val
//}))
//console.log(Promise.resolve(new Promise((resolve, reject) => {
//    resolve(3)
//})).then((val) => {
//    return val;
//}))

//// 一応だけどreturnが歩かないかで返却されるobjectが変わるとかないよね
//console.log(Promise.resolve(3).then((val) => {
//}))
//console.log(Promise.resolve(new Promise((resolve, reject) => {
//    resolve(3)
//})).then((val) => {
//}))

// あとはエラーハンドリングができたらもう実装できるじゃん今ままで何してたのおれ

// 前準備としてはエラーをはきだすだけの関数を作成す流
// function error(reject){
//     reject('エラーがおこったよ');
// }

// function thisFunctionJustOccurError (error) {
//     // ここは処理を定義下にすぎない
//     return new Promise(function(resolve, reject){
//         error(reject)
//     })
// }

// function thisFunctionJustSuccess () {
//     // ここは処理を定義下にすぎない
//     return new Promise(function(resolve, reject){
//         resolve(3)
//     })
// }

// // こうするとhandleされていないエラーが起こる可能性があると怒られてしまう
// // thisFunctionJustOccurError(error);


// // ただpromiseをチェーンするための関数
// function justChainThen(thenable, f) {
//     return thenable.then(f)
// }

// function justReturnValue(val){
//     console.log(val);
//     return Promise.resolve(val);
// }

// function justOcurrError(val){
//     return Promise.reject('errorr occur');
// }

// justChainThen(thisFunctionJustSuccess(), justReturnValue).then(justReturnValue).then(justOcurrError).then(justReturnValue).then(justReturnValue).catch((err)=> {
//     console.log(error)
// })

以上是关于javascript 承诺勉强したので谁かに伝えたい的主要内容,如果未能解决你的问题,请参考以下文章

python pd.concatしたときに索引の情报が消えていないデータフレームと消えたデータフレームをconcするので生じるnp.nanが现れるスクリプト

python PythonのSPARQLWrapperを使ってSPRQL端点からJSON形式でデータを取得しようとした时,うまくいかないことがあったので,SPARQLWrapperを使わない方法を书い

から VS ので

三日月くるみ - 魔法みたいな恋したい

桜川未央 - 隠した涙

桜川未央 - 隠した涙