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
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/