美文网首页
Promise相关题目

Promise相关题目

作者: 斯里兰卡的小狮子 | 来源:发表于2020-08-06 18:47 被阅读0次
  1. 实现一个person对象,有eat和dinner两种方法
    请用实例【依次类推】
    new Person('Tom').sleep(10).eat('dinner');
    //输出 console.log("hello Tom");
    //等待10s后输出
    console.log("sleep 10s");
    console.log("eat dinner");
class Person{
    constructor(name){
        this.name = name
        console.log(`hello ${this.name}`)
        this.promise = Promise.resolve()
    }
    sleep(second){
        this.promise = this.promise.then(function(){
            return new Promise((resolve,reject)=>{
              setTimeout(function(){
                console.log(`sleep ${second}s`)
                resolve()
              },second*1000)  
            })
        })
        return this;
    }
    eat(food){
        this.promise.then(function(){            
            console.log(`eat ${food}`);
        })
        return this
    }
}
new Person('Tom').sleep(10).eat('dinner');
  1. 3s之后亮红灯一次,再过2s亮绿灯一次,再过1s亮黄灯一次,
    用promise实现多次交替亮灯的效果(可以用console.log模拟亮灯)
function light(color, second) {
  return new Promise((resolve, reject) => {
    setTimeout(function () {
      console.log(color);
      resolve();
    }, second * 1000);
  });
}

// list:[{color:xx,second:xx}]
function orderLights(list) {
  let promise = Promise.resolve();
  list.forEach((item) => {
    promise = promise.then(function(){
      return light(item.color, item.second);
    })    
  })
  promise.then(function(){
    return orderLights(list)
  })
}
orderLights([
  { color: "red", second: 3 },
  { color: "green", second: 2 },
  { color: "yellow", second: 1 }
]);
  1. 下面代码输出什么?
const promise = Promise.resolve(1).
then(2).
then(Promise.resolve(3)).
then(console.log)
// 1

相关文章

  • Promise相关题目

    实现一个person对象,有eat和dinner两种方法请用实例【依次类推】new Person('Tom').s...

  • Promise实现

    实现的Promise,符合Promise/A+规范。 promise题目 async题目 再来一个 参考 segm...

  • Promise相关

    在 javascript 中, 所有代码都是单线程执行的。 由于这个缺陷,导致 javascript 的所有网络操...

  • promise相关

    promise promise.race promise.finally promise.catch

  • Promise相关

    https://segmentfault.com/a/1190000039275224[https://segme...

  • promise相关

    异步编程 *fs文件操作*数据库操作*ajax*定时器在promise之前的解决方式: 旧的解决方法:必须在启动异...

  • Promise面试题

    Promise面试题 题目一 解析首先Promise新建后立即执行,所以会先输出1,2,而Promise.then...

  • Promise相关知识

    一、Promise基础 1.为什么需要Promise? js是一门单线程语言,所以早期我们在解决异步的场景时,通常...

  • Promise相关概念

    Promise 检测图片 检测图片是否加载成功,成功就正常显示,失败就展示默认图片 休眠的实现方法 基本用法 有一...

  • 深入了解下Promise

    Promise 意义 Promise 的诞生与 Javascript 中异步编程息息相关,js 中异步编程主要指 ...

网友评论

      本文标题:Promise相关题目

      本文链接:https://www.haomeiwen.com/subject/plvmrktx.html