zoukankan      html  css  js  c++  java
  • promise

    // 需求:封装一个方法,给一个读取文件的路径,方法能给我们返回文件内容

    const fs = require('fs')
    const path = require('path')
    
    // callback回调:第一个参数错误结果,第二个参数读取的文件内容
    function getFileByPath(fpath, callback) {
        fs.readFile(fpath, 'utf-8', (err, dataStr) => {
            if (err) return callback(err)
            callback(null, dataStr)
        })
    }
    
    getFileByPath(path.join(__dirname, './package.json'), (err, dataStr) => {
        if (err) return console.log(err.message)
        //console.log(dataStr)
        console.log(JSON.parse(dataStr).name)
    })
    function test(resolve, reject) {
        var timeOut = Math.random() * 2;
        console.log('set timeout to: ' + timeOut + ' seconds.');
        setTimeout(function () {
            if (timeOut < 1) {
                console.log('call resolve()...');
                resolve('200 OK');
            }
            else {
                console.log('call reject()...');
                reject('timeout in ' + timeOut + ' seconds.');
            }
        }, timeOut * 1000);
    }
    
    // var p1 = new Promise(test);
    // var p2 = p1.then(function (result) {
    //     console.log('成功:' + result);
    // });
    // var p3 = p2.catch(function (reason) {
    //     console.log('失败:' + reason);
    // });
    
    new Promise(test).then(res => console.log("succ")).catch(err => console.log("failed"))



  • 相关阅读:
    perl的eval语句
    PythonWin运行出错解决办法
    python多重继承
    perl调用shell
    python正则表达式匹配中文
    perl学习2处理用户输入
    awk介绍
    perl学习3qw及数组的应用
    perl的多线程
    perl学习5子程序中自动识别参数
  • 原文地址:https://www.cnblogs.com/xy-ouyang/p/11620390.html
Copyright © 2011-2022 走看看