程序代码如下:
var arp = require('node-arp');
var co = require('co');
function getMAC(ipAddress) {
  return function (callback) {
    arp.getMAC(ipAddress, callback);
  }
}
co(function*(){
  var address=[
    '192.168.1.100',
    '192.168.1.101'
  ];
  var p1=yield getMAC(address[0]);
  var p2=yield getMAC(address[1]);
  console.log(address[0]+' ->'+p1);
  console.log(address[1]+' ->'+p2);
  return 'done';
})(function(err,result){
  console.log('err: '+err+', result: '+result);
});
我参考别人的博客写的:不太懂co 和 yield 为嘛会这样?
Debugger listening on port 18507
f:\nodejs\node-study\generator\Test4.js:27
})(function(err,result){
  ^
TypeError: object is not a function
求解答。。。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
两个问题:
你用的node什么版本?建议用node5.1.0-stable,因为默认支持
generator你的问题是什么,报错没明白么?还是其他什么
看错误应该是
co的版本问题,看如下文档描述:因该新版的
co将主要API做了变更,不再返回thunk函数,而是返回一个promise,所以你的代码改成如下方式即可: