解决关于数组推送的承诺-javascript

时间:2020-01-20 10:49:06

标签: javascript asynchronous promise async-await

我正在尝试定义一个返回诺言的函数。设置给定数组(push())时,promise应该会解决。

为此,我尝试使用代理对象(受this影响):

let a = []

;(async function(){

  const observe = array => new Promise(resolve =>
      new Proxy(array, {
          set(array, key, val) {
              array[key] = val;
              resolve();
            }
      }));

  while(true){

      await observe(a);
      console.log(new Date().toLocaleTimeString(),"Blimey Guv'nor:",`${a.pop()}`);
    }

})(a);

;(async function(){
    await new Promise(resolve => timerID = setTimeout(resolve, 2000))
    a.push('ʕ·͡ᴥ·ʔ');
    a.push('¯\(°_o)/¯ ')
})(a)

我不明白为什么这行不通。有人知道吗?

更笼统地说,有什么好的方法可以解决对数组的诺言?

0 个答案:

没有答案