nodeJSメモ帳

nodeJSのメモ帳です。

650 views

Promiseはrxkotlinとそっくり。
こんな感じでコールバック関数を簡単に作成できる。

var Promise = require('promise');

var promise = new Promise(function (resolve, reject){
    console.log("start");
   // resolve("hello");
    reject("error");
});


promise.then(function(value){
    console.log("thenが呼ばれた");
    console.log(value);
}).catch(function(err){
    console.log("catchが呼ばれた");
    console.log(err);
});

5行目をコメントアウトしているので、14行目のキャッチが呼ばれる。
5行目のコメントアウトを外して6行目をコメントアウトするとthenの中の関数が呼ばれる。

then、catch関数の引数は一個だけ指定できる。
以下のようなコードだと2個めの変数はundefinedになる。

var Promise = require('promise');

var promise = new Promise(function (resolve, reject){
    console.log("start");
    resolve("hello", "test");
    reject("error", "error1");
});


promise.then(function(value, value1){
    console.log("thenが呼ばれた");
    console.log(value);
    console.log(value1);
}).catch(function(err, err1){
    console.log("catchが呼ばれた");
    console.log(err);
    console.log(err1);
});

実行結果。

start
thenが呼ばれた
hello
undefined

sleepを作ってみた

javascriptにsleepはないので、自作するしかない。サンプルコードを以下に記しておく。

async function sleep(ms) {
    return new Promise((resolve, reject)=>{
        setTimeout(resolve, ms);
    });
}

async function main() {
    await sleep(500);
    console.log("end");
}

main();

Page 5 of 13.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

すぺぺぺ

自己紹介

本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。

サイト/ブログ

https://www.osumoi-stdio.com/novel/

ツイッター

@darkimpact0626