シンプルと自由を目指す

なるべくシンプルに自由になれるための情報を書いて行きます

Node.js Promiseの戻り値2つの実装

普通に戻り値2つ取ろうとすると ふたつ目がundefinedとなる。

// 省略...
    await get_info(config).then((data,fdata) => {
        console.log(data);   // test
        console.log(fdata);  // undefined
    });
// ...

let get_info = async (conf) =>{
    return new Promise((resolve, reject) => {
        var data = "test";
        var fdata = "test.txt";
        result(data, fdata);
        });
    });
};

解決策

配列にしていれば渡せる

// 省略...
    await get_info(config).then(([data,fdata]) => {
        console.log(data);   // test
        console.log(fdata);  // test.txt
    });
// ...

let get_info = async (conf) =>{
    return new Promise((resolve, reject) => {
        var data = "test";
        var fdata = "test.txt";
        result([data, fdata]);
        });
    });
};